JQuery:没有忽略选择器吗?

JQuery:没有忽略选择器吗?,jquery,Jquery,不知道我是否错误地使用了not选择器,但我希望单击的所有内容都可以执行not选择器中id之外的操作 这两个都不起作用,单击徽标时我会收到警告: $('body').not('#logo').click(function(){ alert('hi'); }); $('body:not(#logo)').click(function(){ alert('hi'); }); 以及html: <!DOCTYPE html> <html> <h

不知道我是否错误地使用了not选择器,但我希望单击的所有内容都可以执行not选择器中id之外的操作

这两个都不起作用,单击徽标时我会收到警告:

$('body').not('#logo').click(function(){ 
alert('hi');
});

$('body:not(#logo)').click(function(){ 
alert('hi');
});
以及html:

    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Untitled Document</title>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
    <script type='text/javascript'>
    $(document).ready(function(){

    $('body').not('#logo').click(function(){ 
    alert('hi');
    });

    });
    </script>
    </head>

    <body>
    <div style='width:900px; margin:0 auto; background-color:red; height:600px;'>
    <div id='logo' style='background-color:black; width:200px; height:200px;'>
    </div>
    </div>
    </body>
    </html>

无标题文件
$(文档).ready(函数(){
$('body')。不是('logo')。单击(function(){
警报(“hi”);
});
});

@Alexander对代码的描述是正确的。您正在匹配的
元素没有
标识的
id
。由于您只有一个body标签,并且它没有logo的id,所以您的选择器选择您的body标签

一种方法是在主体上附加一个处理程序,然后防止事件在徽标上冒泡。看起来是这样的:

$('body').click(function(){ 
  alert('hi');
});

$("#logo").click(function(e){
    e.stopPropagation();
});

@Alexander对代码所做操作的描述是正确的。您正在匹配的
元素没有
标识的
id
。由于您只有一个body标签,并且它没有logo的id,所以您的选择器选择您的body标签

一种方法是在主体上附加一个处理程序,然后防止事件在徽标上冒泡。看起来是这样的:

$('body').click(function(){ 
  alert('hi');
});

$("#logo").click(function(e){
    e.stopPropagation();
});

您正在将
单击
事件绑定到
主体
元素,这些元素的
id
属性不同于
#徽标
您正在将
单击
事件绑定到
主体
元素,这些元素的
id
属性不同于
#徽标