3

我有这样的桌子

<table id="myTable">
<tbody>
<tr>
    <td class="class1">aaa</td>
    <td class="class1">bbb</td>
    <td class="class1">ccc</td>

    <td class="class2">ddd</td>
    <td class="class2">eee</td>
</tr>

<tr>
    <td class="class1">fff</td>
    <td class="class1">ggg</td>
    <td class="class1">hhh</td>

    <td class="class2">iii</td>
    <td class="class2">jjj</td>
</tr>
</tbody>
</table>

我想给出类名,并获取具有该类名的列的索引
例如,我给出“2 级”并获得 3 和 4。
我试过这个。但是index给了我最后一列的索引号。

 var indices = $("#myTable tbody tr").first().children("td.class2").index();

我需要一个包含所有索引值的数组。

4

2 回答 2

4

使用.each().

var indices = [];
$("#myTable tbody tr").first().children("td.class2").each(function(){
    indices.push($(this).index());
});
// indices = [3, 4]

在现代网络浏览器中,您可以使用Array#map.

var indices = $("#myTable tbody tr").first().children("td.class2").get().map(function(self){
    return $(self).index();
});
于 2013-01-13T20:51:31.590 回答
4

您可以使用map()index()方法:

var indices = $("#myTable tr:first td.class2").map(function(i) {
    return $(this).index();
}).get();

console.log(indices); // [3, 4]
于 2013-01-13T20:53:26.690 回答