这些jQuery表达式是否等效?

时间:2009-11-09 21:01:00

标签: javascript jquery expression

我想知道这两个表达式是否相同,因为如果它们相同,它会使这更容易。

$('div', this).filter(':not(.trigger)')...
$('div:not([class*=trigger])', this)...

this提供查找指定div

的上下文

2 个答案:

答案 0 :(得分:3)

没有

版本1采用没有类触发器的所有div。

版本2获取属性类包含文本触发器的所有div。 这意味着mytrigger类的div将是匹配的。

Selectors

修改

使用您更新的问题,这将等同于第一个版本。

$('div:not(.trigger)', this)

答案 1 :(得分:2)

它们基本上不一样。第二个也过滤掉所有在名称中具有contains“触发”类的div,因此例如也是如此。 “anothertrigger”和“triggerfoo”。

您也可以使用

$('div:not(.trigger)', this)...

这是非常清楚的。