1

我想知道是否可以使用 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。

4

2 回答 2

1

假设这是在.php一个部分的文件中,<script>并且您的键数组是$keys

var idSelector = <?= json_encode($keys) ?>.map(function(k) {
    return '#row_' + k;
}).join(',');
$(idSelector).addClass('someClass');
于 2013-08-28T06:20:35.053 回答
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);
于 2013-08-28T06:21:39.180 回答