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

Javascript 在表的单元格中查找精确值,并将类添加到行中,javascript,jquery,html,Javascript,Jquery,Html,我试图使用jquery在表中的单元格中找到一个精确的值,然后向该行添加一个类。我目前有这段代码 $(“tr”).find(.closeID:contains(2)”).parent('tr').addClass('selected') 如果任何具有类closeID的单元格中有值,则会添加该类,但我希望它是精确的,这样,如果我查找数字1,则不会将该类添加到1、10、11、12、13,依此类推 这是我表格中的一行,数据是用php拉入的 <tr>

我试图使用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>

“.$i++”
“.dateTime($data['submit_date'])”
“.dateTime($data['event_date'])”
“.$data['project_code']”
“.$data['project_name']”
“.$data['event']”
“.$data[“已发生”]”
“.$data['about']”
“.$data['reporter']”
“.$data['org']”
“.$data['trackside']”
“.$data['location']”
“.$data['number']”
“.$data[“违反规则”]。”
“.$data['life_rule']”
“.$data['require_feed']”
“.$data['email']”
“.get_region_id($data['region'])。”
“.$data['closed_out']”
“.$data['rssb_num']”
“.$data['id']”
“.$data['file_upload']”
如果你能帮忙,那就太好了。
谢谢您的时间。

您可以循环检查表中的每个单元格并检查值。为此,我建议使用普通javascript而不是jQuery(它会运行得更快)

var table=document.getElementById('your-table-id');
var rows=table.getElementsByTagName('tr');
对于(变量行=0;行
试试看


第一部分
$(“.closeID”)
为您提供closeID css类的所有标记列表。然后,过滤器功能允许您选择所需的过滤器。然后,最后一部分允许您进行所需的修改。

无法进行精确的匹配测试,因此您需要在集合上循环并检查值

$(".closeID").filter( function () {
    return $.trim( $(this).text() ) == "1";
}).closest("tr").addClass("selected");
在选项上方,使用数据属性而不是TD中的文本。这样,您就可以使用一个简单的选择器来引用它

<tr data-id="10">

请您提供一个HTML片段,作为“,”这样,在我们形成问题的答案时,我们可能更容易看到发生了什么(以及您可能遇到的任何问题)?@DavidThomas我已经添加了我的一个表行,我希望这会有所帮助。id在页面中应该是唯一的,所以
$(“#closeID:contains(2)”。最近('tr')。addClass(“选定”)
应该足够了。如果有多个元素具有相同的id,那么由于id是单数的,您就犯了错误。您应该使用一个类,而不是id。@DominiqueFortin我现在将其更改为一个类,因为它被多次使用。这看起来很完美。有没有办法更改它,使它只查看具有c类的单元格loseID?如何将一个值与.closeID进行比较?这非常有效我使用了属性选择器,它的效果非常好谢谢你的帮助
$(".closeID").filter( function () {
    return $.trim( $(this).text() ) == "1";
}).closest("tr").addClass("selected");
<tr data-id="10">
$('tr[data-id="10"]').addClass("selected");