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

标签 javascript jquery html

如果您去掉任何给定 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/

相关文章:

javascript - 使用 jQuery 和 jQuery Radmenu 插件的圆形菜单

java - 动态读取属性文件并在javascript中绘制文本框

javascript - 使用 ng-switch-when AngularJS 时无法附加 div?

javascript - 如何模拟点击事件以延迟循环播放幻灯片

javascript - 如何在 DIV 中添加文本但不可见或不使用页面上的任何空间?

javascript - jQuery 菜单应保持打开状态

javascript - 如何使用 jquery 将段落的原始文本格式放入 html 段落元素中?

javascript - 在 JavaScript 中克隆一个对象

css - 无论页面宽度如何,如何定位 DIV?

javascript - 在 phonegap(多平台移动开发)中使用服务器端 html+js