Проблема с селектором jQuery - PullRequest
2 голосов
/ 22 июня 2010

Я застрял в проблеме селектора в JQuery. У меня есть следующая структура HTML ....

<table>
 <tr>
   <td rowspan="3"></td>
   <td></td>
   <td></td>
   <td rowspan="3"></td>
 </tr>
 <tr>
   <td></td>
   <td></td>
 </tr>
 <tr>
   <td rowspan="4"></td>
   <td></td>
   <td></td>
   <td rowspan="4"></td>
 </tr>
 <tr>
   <td></td>
   <td></td>
 </tr>
 ....
</table>

Я хочу выбрать первый td в tr со свойством rowspan. Как я могу выбрать это, используя селекторы JQuery.

что-то вроде $ ("table> tr> td [rowspan]") выбирает все тд, имеющие свойство rowspan

Привет

Ответы [ 2 ]

4 голосов
/ 22 июня 2010

<table> s имеют неявное значение <tbody>, поэтому ваш селектор не работает. Попробуйте:

$("table td[rowspan]")

Теперь, первое <td> в каждом <tr> будет:

$("table tr").find("td[rowspan]:first")

Рабочий пример (довольно грязный, но это ваш стол): http://jsbin.com/aqere/2

2 голосов
/ 22 июня 2010

См. первый ребенок

$("table td[rowspan]:first-child")

Как сказал @kobi, существует неявный элемент tbody, который вводят браузеры. Чтобы быть очень конкретным, используйте:

$("table > tbody > tr > td[rowspan]:first-child")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...