jQuery选择器Exclude a Child

时间:2011-12-02 11:47:11

标签: jquery jquery-selectors

我想选择整个身体但排除一个元素,我该如何实现?

$("body").not('#to-exclude').mouseup(function(){ 
  // ...
});

不起作用。

2 个答案:

答案 0 :(得分:1)

如果你正在使用jQuery< 1.7你应该使用delegate();

$('body').delegate(':not(#to-exclude)', 'mouseup', function () {
    // ...
});

对于jQuery 1.7及更高版本,请考虑使用on()方法;

$('body').on('mouseup', ':not(#to-exclude)', function () {
    // ...
});

您的代码无法工作的原因是您使用$('body')构造的jQuery对象仅包含body元素。因此not()无法删除该元素,因为它不存在。

答案 1 :(得分:0)

这是另一种方式。

$("body").mouseup(function(event){
if(event.target.id == "to-exclude"){
return false;
}else{

//do your works here
};

});