如何为每个匹配的row_id使用each()addClass

时间:2013-08-28 06:12:27

标签: jquery

我想知道是否可以使用each()添加一个css类,该类将使用JQuery突出显示每个匹配的表行。我有一个PHP数组的键,我想匹配相应的表行ID。我还在学习JQuery,所以我不熟悉如何做到这一点。

有人可以指向我展示这个或者可能给我看一个例子的帖子吗?

我的表格如下:

<table id="table1">
    <tr id="row_23">
        <td>row 23</td>
    </tr>
    <tr id="row_24">
        <td>row 24</td>
    </tr>
    <tr id="row_25">
        <td>row 25</td>
    </tr>
</table>
...

编辑: PHP数组:

array(
  [0]=>23
 ,[1]=>24
 ,[2]=>25
)

我想将PHP数组的值与行id匹配。例如:<td>row 25</td>应匹配PHP数组键2。

2 个答案:

答案 0 :(得分:1)

假设它位于.php部分的<script>文件中,并且您的密钥数组为$keys

var idSelector = <?= json_encode($keys) ?>.map(function(k) {
    return '#row_' + k;
}).join(',');
$(idSelector).addClass('someClass');

答案 1 :(得分:0)

如果你想要突出显示row_23,有3种方法:

var row_id = 'row_23';
var class_name = 'highlight';

$('#' + row_id).addClass(class_name);

// or
$('tr[id=' + row_id + ']').addClass(class_name);

// or
$('tr').each(function(
    if (this.id == row_id) {
        $(this).addClass(class_name);
    }
))

如果你想突出显示第二个tr,试试这个:

$('tr').eq(1).addClass(class_name);