Являются ли эти выражения jQuery эквивалентными? - PullRequest
0 голосов
/ 10 ноября 2009

Мне интересно, эквивалентны ли эти два выражения, потому что если бы они были, это сделало бы это намного проще.

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

(this предоставляет контекст для поиска указанного div)

Ответы [ 2 ]

3 голосов
/ 10 ноября 2009

номер

Версия 1 принимает все дивы без класса триггер .

Версия 2 принимает все div, где класс атрибута содержит текст trigger . Это означает, что div с классом mytrigger будет совпадать.

селекторы

EDIT

С вашим обновленным вопросом это будет эквивалентно первой версии.

$('div:not(.trigger)', this)
2 голосов
/ 10 ноября 2009

Они, по сути, не одинаковы. Второй также отфильтровывает все div, которые имеют класс, который содержит «триггер» в имени, таким образом, например, "anothertrigger" и "triggerfoo".

Вы также можете использовать

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

что намного лучше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...