jQuery - выберите элементы, которые не находятся внутри идентификатора - PullRequest
4 голосов
/ 17 января 2011

Как выбрать все элементы, которые имеют атрибут title, но не содержатся в элементе с #boo ID?

нравится $("*[title]").each()...

но не элементы, которые находятся в #boo:)

Ответы [ 6 ]

9 голосов
/ 17 января 2011
$("[title]").not("#boo [title]").each()

demo

и, как примечание, когда вы используете id при получении элемента, это быстрее, если вы не добавите префикс тега элемента.Например, просто используйте #boo вместо div#boo. demo <- попробуйте взглянуть на консоль firebug для сравнения времени. </p>

6 голосов
/ 17 января 2011

$('*:not(#boo) *[title]'); должно работать.

3 голосов
/ 17 января 2011
$('[title]').filter(function(){return $(this).parents('#boo').length === 0;})
2 голосов
/ 17 января 2011

Возможны способы снятия шкуры с этой кошкой. Вот еще два:

$('[title]:not(#boo *[title])');
$('[title]').not('#boo *[title]');
2 голосов
/ 17 января 2011

Использование filter()

http://api.jquery.com/filter/

1 голос
/ 17 января 2011

Я должен был сделать это раньше и использовал что-то вроде:

$(":not(#boo) > [title]")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...