如何检查两个 DOM 是否相等?

How check two DOM equal?

我有自定义表单来制作完美的用户体验,有一个带按钮的字段加上一些详细信息,这个字段有验证(避免字段的相同值)我需要检查 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
    }
}

代码是否 return 正确?或者我的代码不是很好的方法?

你可以使用 .is()

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

jQuery构造函数returns一个新的jQuery对象和2个不同的对象不被认为是相等的。

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

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