我的 HTML 中有一个表格,在这个表格中,<td>
标签中的各个值是从 Javascript 数组生成的。
我想将<td>
标签中包含的值相互比较并检查重复项。
<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
循环。