从兄弟字符串中提供最接近的元素类

时间:2016-05-13 08:51:26

标签: javascript jquery

我有一些由类别标题划分的tr元素 - 我想将一个元素字符串中的类添加到下面的tr类中,并重复此循环。 .keep元素的数量可能不同。

我如何以最好的方式做到这一点?

<tr>
 <td class="unfoldedlabel" colspan="6”>
  <a href="">Drives</a
 </td>
</tr>

<tr class="keep”> - should add class .drives
</tr>

<tr class="keep”> - should add class .drives
</tr>

<tr>
 <td class="unfoldedlabel" colspan="6”>
  <a href=“">Memory</a
 </td>
</tr>

<tr class="keep”> - should add class .memory
</tr>

<tr class="keep”> - should add class .memory
</tr>

2 个答案:

答案 0 :(得分:1)

尝试使用nextUntil

$( ".unfoldedlabel a" ).click(function(){
  $(this).closest("tr").nextUntil('tr:has(.unfoldedlabel)').addClass( $(this).html().toLowerCase() );
})

答案 1 :(得分:1)

试试这个:

var title = "";
$( "table tr" ).each(function( index ) {
    if($(this).find("a").length == 1) {
        title = $(this).find("td").find("a").text();
    } else {
        $(this).addClass(title.toLowerCase());
    }
});