【问题标题】:How check two DOM equal? [duplicate]如何检查两个 DOM 是否相等? [复制]
【发布时间】:2015-03-11 03:41:07
【问题描述】:

我有自定义表单来制作完美的 UX,有一个带有按钮的字段,可以添加一些详细信息,该字段具有验证(避免字段的值相同),我需要检查 DOM 是否相等。我需要的平等是同一个 DOM,而不是代码。

HTML:

<form id="form">
    <select> ... </select><span class="btn"> + </span>
</form>

Javascript:

$("#form select").on('change', changeForm );

function changeForm() {
    var check = $(this);
    $("#form select").each(function(){ // In first index is exactly equal of variable check
        if (check == $(this)) { ... } // false
        if (check === $(this)) { ... } // false
        if (check.isEqualNode($(this)) { ... } // Uncaught TypeError: undefined is not a function
        if (check.isSameNode($(this)) { ... } // Uncaught TypeError: undefined is not a function
    }
}

有返回真值的代码吗?还是我的代码不是好方法?

【问题讨论】:

    标签: javascript jquery forms dom


    【解决方案1】:

    你可以使用.is()

    if (check.is(this)) { ... } 
    

    【讨论】:

    • 这项工作,谢谢! =)
    • obs:在 IF 中缺少括号
    【解决方案2】:

    jQuery 构造函数返回一个新的 jQuery 对象,并且 2 个不同的对象被认为是不相等的。

    您可以获取包装好的 DOM 元素并进行比较:

    if ( check.get(0) === this )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-20
      • 2011-03-08
      • 1970-01-01
      • 2019-09-20
      • 2016-10-22
      • 1970-01-01
      • 2013-10-07
      • 1970-01-01
      相关资源
      最近更新 更多