Проблема с выбором jQuery - PullRequest
0 голосов
/ 06 декабря 2010

У меня есть следующая разметка:

<table class="dogs">
    <tr>
        <td> <input class="name"> </td>
        etc.

Я пытаюсь выбрать элемент input, используя следующую инструкцию:

$('table.dogs > input.name')

Однако я не получил результатов. Что я делаю не так?

Ответы [ 6 ]

3 голосов
/ 06 декабря 2010

Я полагаю, что с этим синтаксисом вы будете искать прямого потомка table, тогда как вы должны искать прямого потомка td.Попробуйте:

$('table.dogs td > input.name')

В этом случае вам действительно не нужно >.

2 голосов
/ 06 декабря 2010

Вместо этого используйте этот селектор:

$('table.dogs input.name')

Таким образом, вы выбираете все input с именем класса name, которые являются потомками (а не непосредственными потомками) table симя класса dogs.

1 голос
/ 06 декабря 2010

jQuery('parent > child') выбирает все прямые дочерние элементы, указанные «потомком», элементов, указанных «родителем».

input.name не является прямым потомком table.dogs

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

  • $('table.dogs td > input.name')
  • $('table.dogs input.name')
0 голосов
/ 06 декабря 2010

Вы должны использовать другие селекторы, подобные этому.

$('table.dogs .name');

Child Selector («родитель> ребенок») Выбирает все прямые дочерние элементы, указанные "child" для элементов, указанных "parent".

0 голосов
/ 06 декабря 2010

Правильный селектор в вашем случае будет table.docs > tbody > tr > td > input.name, так как все строки таблиц неявно переносятся в TBODY, если TBODY / THEAD / TFOOT не указаны вручную.

Просто используйте селектор table.docs input.name, чтобы разрешить любые элементы между table.docs и input.name.

0 голосов
/ 06 декабря 2010

Избавиться от «>» $ («table.dogs input.name»)

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