JQuery содержит | цель только первый предок - PullRequest
2 голосов
/ 20 мая 2011

Я пытаюсь нацелить и в конечном итоге стилизовать строку в этом примере BLA на странице HTML со многими проверенными таблицами.

Например, на странице HTML:

<table>
<tr>
<td><table><div><tr><td>BLA</td></tr></div></table></td>
</tr>

Иjquery скрипт, который я использую:

$("td:contains('BLA')");  

, чтобы сделать это, но я вижу, что ВСЕ ТД выбраны .. Как я могу просто получить первый тд, без всех предков? .. И если это возможно,Как я могу добавить класс к первому предку при переходе вверх по дереву DOM?(и только этот)

Спасибо, сообщество

1 Ответ

2 голосов
/ 20 мая 2011

То, что вы описываете, является последним td, а не первым, поскольку они возвращаются в порядке иерархии DOM.

$('td:contains("BLA"):not("td td")').addClass('whatever');

демо в http://jsfiddle.net/92Xj2/


Обновление после уточнения в комментарии

$('td:not(:has(td)):contains("BLA")').addClass('whatever');

новая демоверсия http://jsfiddle.net/gaby/92Xj2/4/

...