2012-07-31 70 views
0

我试图选择所有不是'选择器'的元素。

类似

var $removable = $container.find(.not(selector)); 

但我知道语法是错误的。 任何人都可以帮忙吗? 感谢

+0

http://api.jquery.com/category/selectors/ :) – NicoSantangelo 2012-07-31 14:02:13

回答

3

你可以试试这个:

var $removable = $container.find(':not('+ selector +')'); 

OR

var $removable = $container.find('some_selector').not(selector); 

@Mattias comment

$container.find('some_selector:not('+selector+')' 
+1

我建议使用第二个例子,因为第一个例子可能需要挖掘'$ container'的所有*后裔。您希望'some_selector'具有足够的限制性,所以需要执行'.not()'子句的集合相对较小。请注意,第二个示例等同于'$ container.find('some_selector:not('+ selector +')')',但后者仅使用一个DOM查询而不是两个。 – 2012-07-31 14:06:04

+0

非常感谢。 – 2012-07-31 22:58:13

0

这是简单的使用没有选择器

$('div').not('#selector').css('background-color', 'red');​ 

看到这个live example。上面的例子假设你想要找到不是id为'selector'的元素的div元素。

相关问题