JQuery/Javascript - 如何通过标题文本查找表头的索引

Era*_*dan 5 javascript jquery html-table

通过它的显示文本找到列索引的好方法是什么?

例如

<table>
   <tr>
     <td>ID</td>
     <td>Name</td>
     <td>Age</td>
   </tr>
   <tr>
      ...
   </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

我想有类似的东西

var nameIndex = getColIndex('Name'); // nameIndex = 1
Run Code Online (Sandbox Code Playgroud)

有快速/好的方法吗?(不一定是jQuery,但会很好)

Dav*_*mas 18

在Chromium 17/Ubuntu 11.04中,以下两者似乎都有效:

$('tr td').filter(
    function(){
        return $(this).text() == 'Name';
    }).index();
Run Code Online (Sandbox Code Playgroud)

JS小提琴演示.

要么:

$('td:contains("Name")').index();
Run Code Online (Sandbox Code Playgroud)

JS小提琴演示.


编辑回应OP的问题,在下面的评论中:

但是如何将它限制在第一行?

要将其限制在第一行,只需使用:first选择器:

$('tr:first td')
Run Code Online (Sandbox Code Playgroud)

赠送:

$('tr:first td').filter(
    function(){
        return $(this).text() == 'Name';
    }).index();
Run Code Online (Sandbox Code Playgroud)

JS小提琴演示.

参考文献: