使用jquery not运算符
我有这样的设置。
var element = $(".module-panel", this.el); $('.module-panel:not('+element+')').hide();
我想要做的是用类.module-panel隐藏所有div,除了存储在var元素中的那个。
最简单的方法是使用.not()
var element = $(".module-panel", this.el); $('.module-panel').not(element).hide();
使用:not()完全是可能的 ,虽然差别很小,但如果有多个元素匹配,它可能会对有利的CSS3选择器产生影响:not()。
jQuery创建了一个方法 .not(),它过滤掉传递给它的任何元素。 CSS3有一个伪选择器 :not()允许浏览器完成工作,使其稍快,但不是多function的。
测试结果如下: http : //jsfiddle.net/iredmedia/jPNYK/
查询不起作用的原因是因为您将jQuery对象连接到查询字符串中 。 为了使您的查询有效,您必须将其传递给特定的元素id / class 字符串 ,如
var element = '.doNotReturn', excluded = $('#eltFamily:not(' + element + ')').nextMethod();
希望这有助于你理解:not()vs .not();
你可以使用.not()
var element = $(".module-panel", this.el); $('.module-panel').not(element).hide();
你需要jquery 1.4或更高版本,因为element是一个jquery对象:
.not(jQuery对象)
jQuery对象 – 一个现有的jQuery对象,用于匹配当前的元素集。