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

标签 javascript jquery html-table

根据显示文本查找列索引的好方法是什么?

例如

<table>
   <tr>
     <td>ID</td>
     <td>Name</td>
     <td>Age</td>
   </tr>
   <tr>
      ...
   </tr>
</table>

我想要这样的东西

var nameIndex = getColIndex('Name'); // nameIndex = 1

有没有快速/好的方法来做到这一点? (不一定是 jQuery,但会很好)

最佳答案

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

$('tr td').filter(
    function(){
        return $(this).text() == 'Name';
    }).index();

JS Fiddle demo .

或者:

$('td:contains("Name")').index();

JS Fiddle demo .


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

but how do I limit it to the first row?

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

$('tr:first td')

给予:

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

JS Fiddle demo .

引用资料:

关于javascript - JQuery/Javascript - 如何通过表头文本查找表头的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9639887/

相关文章:

html - 链接在表中不起作用

javascript - 使用 CSS 悬停伪选择器时,组件无法在 React 中正确渲染

javascript - 查询父选择器或将选择器附加到所有子选择器是否更有效?

jquery - addClass 无法正常工作

javascript - 在 PHP 函数上使用 Javascript 数组,无论是在同一个文件上还是与其他函数一起在另一个文件上

html - 悬停时显示文本框(在表中)

javascript - Angular JS 路由不显示我的 html 文件

javascript - 根据复选框禁用/启用文本框

javascript - 如何传递多个输入数组元素值

php - 使用 HTML 创建时间表 - PHP - MySQL