1

我的 HTML 中有一个表格,在这个表格中,<td>标签中的各个值是从 Javascript 数组生成的。

我想将<td>标签中包含的值相互比较并检查重复项。

4

1 回答 1

5

<td>元素没有,它们有内容(可能包含也可能不包含其他元素)。如果您的问题是“我如何检查没有两个 td 元素具有相同的内容?” 你可以这样做:

var contents = {},
    duplicates = false;
$("#yourtableidhere td").each(function() {
    var tdContent = $(this).text();
    if (contents[tdContent]) {
        duplicates = true;
        return false;
    }
    contents[tdContent] = true;
});    
if (duplicates)
   alert("There were duplicates.");

你没有说这个过程应该在什么时候发生,但是如果为了响应用户点击一个按钮或其他东西,那么把上面的代码放在一个点击事件处理程序中。

演示:http: //jsfiddle.net/FA6SR/

显然,您可以扩展上述内容以准确注意哪些单元格具有重复值、值是什么等。

编辑 - PS你提到这些值来自一个数组。针对数组而不是针对表格单元编写比较测试同样容易,但在运行时更有效。jQuery 对此并没有真正的帮助,您只需使用标准for循环。

于 2012-08-02T07:17:33.003 回答