Помогите понять Селектор Равных Атрибутов JQuery - PullRequest
4 голосов
/ 28 сентября 2010

Я хочу найти <td role="foo" class="one two three four"> в пределах <div id="myid">

Эти два селектора работают:

$('#myid td[role=foo]')

$('#myid .two')

А вот этого нет, почему?

$('#myid .two td[role=foo]')

Ответы [ 3 ]

13 голосов
/ 28 сентября 2010

Поскольку пробел в строке селектора является потомком-селектором .

Вам нужно будет сделать:

$('#myid td.two[role=foo]')

Как вы это сделали, выискали <td role="foo"> элементов, которые являются потомками из .two.

2 голосов
/ 28 сентября 2010

Вы хотите:

$("#myid td[role=foo].two")...

Этот селектор:

$('#myid .two td[role=foo]')

означает: найти элемент с идентификатором «myid».Из него найдите всех потомков с классом «два».Из этих элементов найдите всех потомков <td> элементов, имеющих атрибут role со значением "foo".

2 голосов
/ 28 сентября 2010

Потому что ваш селектор:

$('#myid .two td[role=foo]')

ищет td[role=foo] в элементе класса .two в элементе id #myid.

Вы используете селекторы потомков, а не ищете td[role=foo].two, который, я думаю, то, что вы хотите.

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