如何计算某一列中包含JavaScript搜索词的所有TD

How to count all TDs from a certain column that contain a search term in JavaScript?

本文关键字:JavaScript 搜索 TD 包含 一列 计算 何计算      更新时间:2023-09-26

我有一个页面,其中有一个HTML表,我想使用JavaScript在其中循环。

表有一个唯一的ID("trans_log_table"),没有ID,只有一个tbody,我只对表的第二列感兴趣。在这里,我想计算有多少TD包含某个搜索词。我的搜索词是一个名为"orderNum"的变量。

我尝试了以下操作,但始终返回0或不返回任何结果。我在这里做错了什么?我的猜测是我在选择器上做了一些错误的事情,尤其是关于tr部分,我想把所有tr都计算在一起。对于下面的示例,结果应该是1。

HTML(简化):

<table id="trans_log_table">
    <tbody>
        <tr><td>text1</td><td>text2</td><td>text3</td></tr>
        <tr><td>text1</td><td>text orderNum text</td><td>text3</td></tr>
        <tr><td>text1</td><td>text2</td><td>text3</td></tr>
    </tbody>
</table>

我的JS:

var orderNum = 'someSearchTerm';
$(objIE.document).find( $('#trans_log_table tr').find("td:eq(1):contains('" + orderNum + "')") ).length

这是有效的:

$('#trans_log_table tr').find('td:eq(1):contains(' + orderNum + ')').length

除非在其他地方定义了objIE,否则不应该需要它。

Fiddle:http://jsfiddle.net/248ddew4/4/