2014-10-28 47 views
0

我有一个带有HTML表格的页面,通过它我想使用Javascript进行循环。JavaScript:如何统计包含搜索词的特定列的所有TD

该表有一个唯一的ID(“trans_log_table”),没有其他人,但我只对表的第二列感兴趣。 这里我想统计有多少个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 

非常感谢任何帮助,蒂姆。

回答

1

这工作:

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

除非objIE在别处定义,它不应该是必要的。

小提琴:http://jsfiddle.net/248ddew4/4/

+0

感谢这个! orderNum是一个变量,所以我想我会需要原文,否则这被认为是文本,不是?这可能只是我的不好的演示例子。 – user2571510 2014-10-28 21:18:14

+1

我想知道这件事。由于'orderNum'是一个变量,它应该在引号之外,并且简单地删除'objIE'应该修复它。你非常接近! – 2014-10-28 21:19:05

+0

谢谢。是。删除objIE在这里工作,但我仍然认为orderNum应该像原来的,因为我不是在寻找术语“orderNum”,而是变量“orderNum”,它可以是任何文本。我错了吗?刚刚更新了我的这篇文章。 – user2571510 2014-10-28 21:21:01