如果您去掉任何给定 HTML 元素(或更具体地说是一个复选框)的 ID 属性(即:假设它从未被设置),是否有一种方法可以确定我是否有对同一元素的两个引用?
基本上,我正在尝试让以下代码正常工作,但我认为如果没有设置 id 属性我无法做到这一点。
复选框是这样声明的(所以我不能使用 id 属性)
<input type="checkbox" class="RowSelector" />
这是我尝试创建的方法
$(function () {
$(".RowSelector").click(function (e) {
var current = this;
$(".RowSelector").each(function (index, value) {
if (current != value) { //This doesnt work but is there a way I can make it?
$(value).prop("checked", false);
}
});
});
});
那么是否可以使用 JavaScript 来确定我是否有两个对同一 HTML 元素的引用?
最佳答案
您可以让 jQuery 以更少的代码为您完成这项工作:
$(function () {
$(".RowSelector").click(function (e) {
$(".RowSelector").not(this).prop("checked", false);
});
});
或者更高效一点:
$(function () {
var rows = $(".RowSelector").click(function (e) {
rows.not(this).prop("checked", false);
});
});
如果您对其他问题的答案感兴趣(现在由上述代码中的 jQuery 为您处理),您可以直接比较两个 DOM 引用。当且仅当它们引用相同的 DOM 节点时,它们才会是 ==
。
关于javascript - 在没有 ID 的情况下确定两个 HTML 元素是否不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11516243/