.addClass基于包含在两个表中的span

时间:2012-01-03 23:45:24

标签: jquery parent addclass closest

我正在尝试将一个类添加到表中。

<table>&gt; <tbody>&gt; <tr>&gt; <td>&gt; <table>&gt; <tbody>&gt; <tr>&gt; <td>&gt; <span class="subcategory">

所以基本上我想基于span.subcategory在初始表中添加一个类。 我有这个:

$('span.subcategory').parent().closest("table").addClass('myClass');

但它只进入第二个表格。

4 个答案:

答案 0 :(得分:2)

$('span.subcategory').parents('table:last')

答案 1 :(得分:1)

要到达外围表:

$('span.subcategory').parents('table').eq(1).addClass('myClass');

JS Fiddle demo

或者,可能:

$('span.subcategory').parents('table:has("table span.subcategory"):first').addClass('myClass');

JS Fiddle demo

答案 2 :(得分:1)

$('span.subcategory').closest('table').parent().closest('table').addClass('myClass');

我相信这应该更有效率,因为它只会遍历DOM树到第二个(外部)表。

答案 3 :(得分:0)

$('span.subcategory').closest('table')
    .parent().closest('table')
    .addClass('myClass');`  

工作?

可替换地:

$('table:has(table:has(span.subcategory))').addClass('myClass');