试图在jQuery中查找td元素的表行的索引

时间:2017-03-02 11:37:27

标签: javascript jquery html

我试图从jQuery中的td元素获取表rowIndex。这就是我正在尝试的:

var element = $('td').filter(function() { 
    var Text = $(this).contents()[0].textContent.trim();
    return parseInt(Text, 10) == some_Textvar;
});
var parent = element.parentNode;
var index = parent.rowIndex;

我收到以下错误

  

未捕获的TypeError:无法读取属性' rowIndex'未定义的(...)

HTML:

<div class="class1">
    <table class="class2">
        <tbody>
            <tr>
                <td>
                </td>
            </tr>
            <tr>
            ......

元素肯定存在,因为我在其余代码中使用它。如何获得此td元素所在的行?

由于

1 个答案:

答案 0 :(得分:1)

element是jQuery对象,它没有parentNode属性,因此它是undefined所以错误是预期的。

使用.get() / [0]获取底层DOM元素的引用,然后您就可以访问该属性。

  

检索与jQuery对象匹配的DOM元素。

var parent = element.get(0).parentNode;
var index = parent.rowIndex;

作为替代方案,使用jQuery可以使用.index()

  

如果没有向.index()方法传递参数,则返回值是一个整数,表示jQuery对象中第一个元素相对于其兄弟元素的位置

var index = element.parent().index();