Javascript Jquery比较元素

Javascript Jquery比较元素,javascript,jquery,Javascript,Jquery,我在javascript上有一个数组,我在上面插入如下元素: var parentRow = $(button).parent().parent(); list.push({ parent: parentRow, detailRow: newRow }); 单击另一个按钮,我将执行以下操作: var parentRow = $(button).parent().parent(); var detailRow = null; for (var i in

我在javascript上有一个数组,我在上面插入如下元素:

 var parentRow = $(button).parent().parent();
 list.push({ parent: parentRow, detailRow: newRow });
单击另一个按钮,我将执行以下操作:

      var parentRow = $(button).parent().parent();
      var detailRow = null;

      for (var i in list) {
        if ($(list[i].parent) == $(parentRow)) {
          detailRow = list[i].detailRow;
        }
      }
关键是:if与两个元素的比较应该返回TRUE,因为它们是相同的DOM元素……与我之前添加的相同,但返回FALSE

我想知道我如何比较这两个元素以实现这一点。

试试:

if (parentRow.has(list[i])) {

您需要比较本机元素,而不是jQuery包装的元素。jQuery的DOM方法返回的不是元素本身,而是一个jQuery对象

if (list[i].parent[0] === parentRow[0]) {

它们不是相同的对象,因为它们引用的不是同一个jQuery实例

简单的解决方案:不要使用jQuery,而是使用普通的DOM方法

jQuery解决方案:使用