如何使用jQuery基于单元格内容设置表的行类?

mat*_*uma 0 .net asp.net jquery

我有下表:

<table class="grid">
    <thead>
        <tr>
            <th>Name</th>
            <th>Status</th>
        <tr>
    </thead>
    <tbody>
        <tr>
            <td>Project 1</td>
            <td>Closed</td>
        <tr>
        <tr>
            <td>Project 2</td>
            <td>Open</td>
        <tr>
        <tr>
            <td>Project 3</td>
            <td>Closed</td>
        <tr>
    </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

我试图将我以前在代码隐藏中执行的一些UI代码移动到jQuery.每当Status(Column 2)列的值为Open时,我想更改TR元素的类.

使用jQuery执行此操作的最佳方法是什么?

Pao*_*ino 6

$('tbody > tr', 'table.grid').filter(function() {
    return $(this).children('td').eq(1).text() == 'Open';
}).addClass('open_tr');
Run Code Online (Sandbox Code Playgroud)

它在做什么:

它是选择所有的<tr>内部元素<tbody>的的table.grid范围内.过滤器功能允许您根据返回的内容过滤元素,要么保持为true,要么丢弃为false.所以在过滤器中我们得到tr的所有子项,得到第二个<td>,并返回它的文本是否等于'Open' - 如果是,它将返回true,并且我们可以将父项保留<tr>在选择器中.剩下的就是<tr>Open状态,所以我们可以添加一个类来标记它们.