jquery选择除某元素以外的所有元素

javaready 2011-10-15 01:23:44
例如
<html>
..
<textarea id="area"></textarea>
..
</html>

想选择除textarea外的所有元素

谢谢
...全文
8086 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
飞飞1934 2013-04-12
  • 打赏
  • 举报
回复

$("#area").click(function(event){
	event.stopPropagation();//阻止冒泡
});
javaready 2011-10-15
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 blue_lg 的回复:]

给全局加上onclick事件,然后专门给textarea区域添加onclick事件,里面什么也不行,不就行了么?

还有,楼主,去看看冒泡事件,基础的都不知道。。。
[/Quote]

不明白,求代码解释
BLUE_LG 2011-10-15
  • 打赏
  • 举报
回复
给全局加上onclick事件,然后专门给textarea区域添加onclick事件,里面什么也不行,不就行了么?

还有,楼主,去看看冒泡事件,基础的都不知道。。。
峭沙 2011-10-15
  • 打赏
  • 举报
回复
事件冒泡都搞不清楚,基础太差了。。建议先补下基础
光曰不日 2011-10-15
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 javaready 的回复:]

引用 5 楼 ycmjh2010 的回复:

楼上把选择方法给楼主了,此外楼主要注意3楼的冒泡现象


求解释,什么事冒泡现象
[/Quote]比如你给body绑定一个click事件,然后点击了body里的一个div,理想情况应该只响应div的事件,结果却是事件冒泡到了body,响应了click事件,必须在div的click事件(如果有)里阻止冒泡:e.stopPropagation()
javaready 2011-10-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 axiheyhey 的回复:]

引用 2 楼 javaready 的回复:

引用 1 楼 sohighthesky 的回复:

$("*:not(#area") or
$("*).not($("#area"))


不行的,试了很久

我的代码有包含关系
<html>
..
<div id="div1">
<textarea id="area"></textarea>
</div>
..
<……
[/Quote]

这些代码是什么意思
javaready 2011-10-15
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 ycmjh2010 的回复:]

楼上把选择方法给楼主了,此外楼主要注意3楼的冒泡现象
[/Quote]

求解释,什么事冒泡现象
光曰不日 2011-10-15
  • 打赏
  • 举报
回复
楼上把选择方法给楼主了,此外楼主要注意3楼的冒泡现象
光曰不日 2011-10-15
  • 打赏
  • 举报
回复
根据楼主的'特殊'需求写了个自己看着都别扭(但是有效)的丑陋jq code:
<html>
<head>
<script src='http://code.jquery.com/jquery-latest.js'></script>
<script>
$(function(){
var $wori=$('body :not(:has(#area),#area)')
$wori.each(function(){
alert($(this).attr('id'))
})
})
</script>
</head>
<body>
<div id='a'>123</div>
<div id='b'>456</div>
<div id="div1">
<textarea id="area"></textarea>
</div>
</body>
</html>
峭沙 2011-10-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 javaready 的回复:]

引用 1 楼 sohighthesky 的回复:

$("*:not(#area") or
$("*).not($("#area"))


不行的,试了很久

我的代码有包含关系
<html>
..
<div id="div1">
<textarea id="area"></textarea>
</div>
..
</html>

不知道是不是因为这个原因导致
……
[/Quote]那是事件冒泡的原因。。
$(document).click(event){
if(!event.target.is('#area')){
alert('************');
}
});
javaready 2011-10-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 sohighthesky 的回复:]

$("*:not(#area") or
$("*).not($("#area"))
[/Quote]

不行的,试了很久

我的代码有包含关系
<html>
..
<div id="div1">
<textarea id="area"></textarea>
</div>
..
</html>

不知道是不是因为这个原因导致

$("*:not(#area)").click(function(){
alert("*****");
});


在点击textarea时依然弹出提示框
sohighthesky 2011-10-15
  • 打赏
  • 举报
回复
$("*:not(#area") or
$("*).not($("#area"))

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧