我正在使用一段代码来过滤表中的行。它在除 Firefox v3.0.x 之外的所有浏览器中都能完美运行(适用于 3.1 beta 2)。当我在 Firefox 3.0.x 中运行该代码段时,它显示children is undefined
. 我也在使用 jQuery v1.2.6。
代码片段:
var bodyRows = $("#resultsTable tbody tr");
bodyRows.each(function(n){
if(!filterPattern.test($.trim(this.children[2].innerHTML))){ //errors here
this.style.display = 'none';
}
else {
this.style.display = '';
}
});
代码选择所有表格行,然后循环遍历它们,测试第三列的 innerHTML 文本。如果 RegEx 测试失败,则隐藏该行,否则显示该行。
有没有人看到这个问题和/或知道如何让它工作?
谢谢
编辑: 这是表格的 HTML 标记。为简洁起见,我只提供了 2 条记录,尽管更多的记录。
<table id="resultsTable" cellpadding="0" cellspacing="0">
<thead>
<tr>
<th>First</th>
<th>Last</th>
<th>City</th>
<th>State</th>
<th>Zip</th>
<th>Email</th>
<th> </th>
</tr>
</thead>
<tbody id="resultsBody">
<tr>
<th>James</th>
<th>Eggers</th>
<th>SomeCity</th>
<th>IA</th>
<th>55555</th>
<th>email@email.com</th>
<th> </th>
</tr>
<tr>
<th>John</th>
<th>Doe</th>
<th>SomeCity</th>
<th>KY</th>
<th>88888</th>
<th>email2@email.com</th>
<th> </th>
</tr>
</tbody>
</table>