动态更改表中行的CSS类

Che*_*eri 3 javascript jquery html-table tablecell tablerow

我有一个简单的表:

<table> <tr class="none"><td>value</td><td>value</td></tr></table>
Run Code Online (Sandbox Code Playgroud)

然后我需要检查每一行中单元格的所有值.如果给定行的所有值都不相同,那么我需要将行的类从"none"更改为"active".有没有办法使用jQuery做到这一点?

pix*_*bby 6

像下面这样的东西会起作用.此外,我建议使用<thead><tbody>在您<table>的正确标记. 更新:更正下面的功能以检查其他行的值; 一旦遇到不同的值,<tr>就会相应地更新一个类.

小提琴演示: http ://jsfiddle.net/kaCAF/4/

<script type="text/javascript">
$(document).ready(function() {
    $('#myTable tbody tr').each(function() {

        //compare each cell to adjacent cells
        $(this).find('td').each(function() {
            var $val = $(this).text();

            //checks for different values.  as soon as a difference
            //is encountered we move to next row
            $(this).parent().find('td').each(function() {
                if ($(this).text() != $val) {
                    $(this).parent().addClass('different');
                    return false;
                }
            });
        });
    });

});
</script>

<table id="myTable" border="1">
    <thead>
        <tr><th>Col1</th><th>Col2</th><th>Col3</th></tr>
    </thead>
    <tbody>
        <tr><td>Val 1</td><td>Val 1</td><td>Val 2</td></tr>
        <tr><td>Val 1</td><td>Val 2</td><td>Val 2</td></tr>
        <tr><td>Val 3</td><td>Val 3</td><td>Val 3</td></tr>
        <tr><td>Val 123</td><td>Val 123</td><td>Val 123</td></tr>
    </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

  • 我不相信这回答了这个问题 - 他看起来像是在试图将一行中的项目相互比较 - 而不是与某些静态值相比较. (2认同)