3

如果您删除任何给定 HTML 元素(或更具体地说是复选框)的 ID 属性(IE:假设它从未被设置),是否有办法确定我是否有两个对同一元素的引用?

基本上我试图让下面的代码工作,但不认为我可以在没有 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 元素的引用?

4

1 回答 1

3

您可以让 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 节点时,它们才会是。

于 2012-07-17T05:07:24.633 回答