在表格的单元格中查找确切的值,并将类添加到行

时间:2017-01-23 18:57:09

标签: javascript jquery html

我正在尝试使用jquery在表格的单元格中查找确切的值,然后在该行中添加一个类,我目前拥有这段代码。

$("tr").find(".closeID:contains(2)").parent('tr').addClass('selected');

哪个确实有效,但是如果任何具有类closeID的单元格中包含值,那么将添加该类,但我希望它是精确的,这样如果我查找数字1,它将不会将类添加到1,10,11,12,13等。

这是我的表格中的一行,数据是用php引入的。

                     <tr>
                        <td>'. $i++ .'</td>
                        <td>'.dateTime($data['submit_date']).'</td>
                        <td>'.dateTime($data['event_date']).'</td>
                        <td>'.$data['project_code'].'</td>
                        <td>'.$data['project_name'].'</td>
                        <td>'.$data['event'].'</td>
                        <td>'.$data['happened'].'</td>
                        <td>'.$data['about'].'</td>
                        <td>'.$data['reporter'].'</td>
                        <td>'.$data['org'].'</td>
                        <td>'.$data['trackside'].'</td>
                        <td>'.$data['location'].'</td>
                        <td>'.$data['number'].'</td>
                        <td>'.$data['breach_rule'].'</td>
                        <td>'.$data['life_rule'].'</td>
                        <td>'.$data['require_feed'].'</td>
                        <td>'.$data['email'].'</td>
                        <td>'.get_region_id($data['region']).'</td>
                        <td>'.$data['closed_out'].'</td>
                        <td>'.$data['rssb_num'].'</td>
                        <td style="display:none;" class="closeID">'.$data['id'].'</td>
                        <td style="display:none;">'.$data['file_upload'].'</td>
                    </tr>

如果你能提供帮助那就太好了。 谢谢你的时间。

3 个答案:

答案 0 :(得分:0)

您可以遍历表格中的每个单元格并检查值。我建议在jQuery上使用普通的javascript(它会更快地运行)

mult Zero n

答案 1 :(得分:0)

$(".closeID").filter(function(i,DOM){ 
     return (/*condition here*/);
   })
   .closest('tr')
   .addClass('selected')‌​;

第一部分$(".closeID"),使用closeID css类获取所有标签的列表。然后过滤功能可让您选择所需的功能。然后最后一部分让您进行所需的修改。

答案 2 :(得分:0)

无法进行完全匹配测试,因此您需要遍历集合并检查值。

$(".closeID").filter( function () {
    return $.trim( $(this).text() ) == "1";
}).closest("tr").addClass("selected");

over option,使用数据属性而不是在TD中使用文本。这样你就可以用一个简单的选择器来引用它。

<tr data-id="10">

并使用属性选择器

$('tr[data-id="10"]').addClass("selected");