jquery包含|只针对第一祖先

时间:2011-05-20 15:23:40

标签: jquery dom contains ancestor

我正在尝试定位并最终在一个包含许多测试表的HTML页面中设置一个字符串,在此测试BLA中。

例如HTML页面:

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

我使用的jquery脚本:

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

要做到这一点,但我看到所有td都被选中了..我怎么能得到第一个td,没有所有的祖先?... 如果这是可能的,我怎样才能在上升DOM树时向第一个祖先添加一个类? (只是这一个)

谢谢社区

1 个答案:

答案 0 :(得分:2)

您描述的是最后一个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/