确定两个HTML元素在没有ID的情况下是否不同

Determine if two HTML elements are different without ID

本文关键字:ID 情况下 是否 元素 HTML 两个      更新时间:2023-09-27

如果去掉任何给定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元素的引用呢?

您可以让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节点时,它们将是==