代码之家  ›  专栏  ›  技术社区  ›  rism

为什么jQuery返回的element.parents(“tr”)行的rowIndex属性未定义?

  •  0
  • rism  · 技术社区  · 14 年前

    function findParentRow(srcElement) {
        var curElement = srcElement;
        while (curElement && (curElement.tagName != "TR")) {
            curElement = curElement.parentElement;
        }
        return (curElement.tagName == 'TR' ? curElement : null);
    }
    

    我可以:

    var parentRow = findParentRow(someElement);
    alert(parentRow.rowIndex);
    

    var parentRow = $(chkBox).parents("tr");
    

    我可以

    alert(parentRow);
    

    alert(parentRow.rowIndex);
    

    我没有定义。相反,我也有:

    alert($(pRow).attr("rowIndex"));
    

    获取索引。

    为什么会这样?

    1 回复  |  直到 14 年前
        1
  •  3
  •   Reigel Gallarde    14 年前

    因为 parentRow 现在是jQuery对象。。。使用 .index() 而不是 rowIndex

    尝试 .closest() 也代替了 .parents()

    var parentRow = $(chkBox).closest("tr");
    alert(parentRow.index());