我有這樣的設置。使用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