我有这样的设置。使用jquery不是运算符
var element = $(".module-panel", this.el);
$('.module-panel:not('+element+')').hide();
我试图做的是隐藏与不同之处在于存储了var元素中的一个类.module面板的所有div。
我有这样的设置。使用jquery不是运算符
var element = $(".module-panel", this.el);
$('.module-panel:not('+element+')').hide();
我试图做的是隐藏与不同之处在于存储了var元素中的一个类.module面板的所有div。
做到这一点的最简单的方法是使用。不()
var element = $(".module-panel", this.el);
$('.module-panel').not(element).hide();
使用:否()是完全可能的,以及,尽管差异是微乎其微,如果有多个要素你是匹配的,它可以有利于CSS3选择器:not()。
jQuery创建一个方法 .not()过滤掉传递给它的任何元素。 CSS3有一个伪选择器:not()它允许浏览器做这项工作,使其稍快一些,但不是多功能的。
测试结果在这里:http://jsfiddle.net/iredmedia/jPNYK/
原因查询不起作用是因为你concattenating一个jQuery对象转换成一个查询字符串。为了使您的查询工作,你必须传递一个特定元素的ID /类串,如
var element = '.doNotReturn',
excluded = $('#eltFamily:not(' + element + ')').nextMethod();
希望这有助于你明白:不是()VS。不是();
可以使用.not()
var element = $(".module-panel", this.el);
$('.module-panel').not(element).hide();
您需要的jQuery 1.4或更高,因为元素是一个jQuery对象:
。不是(jQuery对象)
jQuery对象 - 现有jQuery对象匹配当前元素集合。
我只是把它们全部隐藏起来,然后''element.show()' – ianbarker 2012-03-20 15:10:57
'$('。module-panel')。not(element)' – zzzzBov 2012-03-20 15:11:14