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]

最新のWebブラウザーでは、を使用できます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 に答える