确定两个HTML元素是否不同而没有ID

时间:2012-07-17 04:58:49

标签: javascript jquery html

如果你拿走任何给定HTML元素(或更具体地说是复选框)的ID属性(IE:假设从未设置过),我是否可以确定是否有两个对同一元素的引用?< / p>

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

1 个答案:

答案 0 :(得分: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节点时,它们才是==