我创建了一个令人惊讶的工作脚本。 (我没有做太多的JavaScript)
我所拥有的是div中列出的大量图像。这些图像是隐藏的。 JQuery获取图像的属性并将它们放入数组中。单击正文时,页面的背景图像会发生变化。这很好用。
然而,我现在有一个问题。有几个元素在点击时我不应该改变背景。
即导航,页脚和标题。如何创建一个选择器,使主体可以点击,但忽略对上面3个div的点击?
我当前的选择器,这是错误的。看起来像这样。
$("body").click (function() {
答案 0 :(得分:2)
使用not selector:
$('*:not(#footer, #nav, #caption)').click(function(){
// to change background.
});
使用not()方法:
$('*').not('#footer, #nav, #caption').click(function(){
// to change background.
});
答案 1 :(得分:1)
放手一搏:
$("body *:not(div#navigation *, div#this *, div#that *)")
书签this page。理想情况下,您应该将所有应该“激活”的项目包装在容器div中。
答案 2 :(得分:1)
作为例子
$("body:not(#navigation,#footer,.caption)").css("background-color","red");
结帐{/ 3}}了解此
答案 3 :(得分:1)
如果您只想要body
,请尝试以下方法:
$('body').click(function(e){
if (e.target.nodeName.toLowerCase() != 'body')
return;
else
alert('Yeah! this is the body alright!')
})
或
$('body').click(function(e){
if (e.target.nodeName.toLowerCase() == 'body')
alert('Yeah! this is the body alright!')
})