jquery隐藏具有相同类的特定元素

时间:2016-06-13 08:30:03

标签: jquery class select

有一个包含不同类的tds的表。 我需要一些东西来选择包含特定类的所有元素,直到类发生变化。

示例:

<table class="TableClass">
    <tbody>
        <tr>
            <td>1</td>
            <td class="I">&nbsp;TOP</td>
            <td>&nbsp;</td>
        </tr>
        <tr>
            <td>1.1</td>
            <td class="II">&nbsp;First</td>
            <td>&nbsp;</td>
        </tr>
        <tr>
            <td>1.1.1</td>
            <td class="III">&nbsp;asdf</td>
            <td>&nbsp;</td>
        </tr>
        <tr>
            <td>1.1.2</td>
            <td class="III">&nbsp;asdf</td>
            <td>&nbsp;</td>
        </tr>
        <tr>
            <td>1.2</td>
            <td class="II">&nbsp;Second</td>
            <td>&nbsp;</td>
        </tr>
        <tr>
            <td>1.2.1</td>
            <td class="III">&nbsp;Anmeldename</td>
            <td>&nbsp;</td>
        </tr>
    </tbody>
</table>

当我点击“First”时,所有带有“III”类的元素都必须隐藏,但“Second”之后的类别为“III”。

1 个答案:

答案 0 :(得分:1)

这是我尝试过的。这可能不是优化的,但对我有用。

<script>
var flg = 0;    
$("tr").find("td").each(function () {
    if ($(this).attr('class') != '' && $(this).attr('class') != undefined) {            
        if ($(this).hasClass('III')) {
            if (flg != 2) {
                $(this).css('background-color', 'red');
                flg = 1;
            }
        } else {
            if (flg == 1) {
                flg = 2;
            }
        }
    }
});
</script>