Jquery比较元素

时间:2012-04-05 11:58:04

标签: 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 list) {
        if ($(list[i].parent) == $(parentRow)) {
          detailRow = list[i].detailRow;
        }
      }

关键是:if与两个元素的比较应该返回TRUE,因为它们是相同的DOM元素....我之前添加的相同,但它返回FALSE。

我想知道我如何比较这两个元素以获得TRUE。

3 个答案:

答案 0 :(得分:1)

尝试:

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

答案 1 :(得分:1)

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

简单的解决方案:不要使用jQuery并使用普通的DOM方法。

jQuery解决方案:使用.is()

答案 2 :(得分:0)

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

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