4

やあ、

HTML テーブルを作成しました。必要なのは、特定の値の列インデックスを見つけることですが、テーブルの各値にアクセスする方法がわかりません。そのため、列のインデックスを取得できません。

これが私のテーブルです。

<table>
     <tr>
         <td>01</td>
         <td>02</td>
         <td>03</td>
     </tr>
     <tr>
         <td>04</td>
         <td>05</td>
         <td>06</td>
     </tr>
     <tr>
         <td>07</td>
         <td>08</td>
         <td>09</td>
     </tr>
</table>

値03のインデックスが必要です。

4

3 に答える 3

0

以下は作業コードです。最初にテーブルをトラバースしてこの値を取得し、次に必要な値と比較してそのインデックスを見つけます..

 <html>

 <head>
 <script>
function cellvalues() {
    var table = document.getElementById('mytable');
    for (var r = 0, n = table.rows.length; r < n; r++) {
        for (var c = 0, m = table.rows[r].cells.length; c < m; c++) {
            var hi=table.rows[r].cells[c].innerHTML;
 if(hi==03)
 {
 alert(table.rows[r].cells[c].cellIndex);
 }
        }
    }
}


   </script>
   </head>
   <body>

   <table id="mytable">
   <tr><td>01</td><td>02</td><td>03</td>
  </tr>
   <tr><td>04</td><td>05</td><td>06</td>
    </tr>
   <tr><td>07</td><td>08</td><td>09</td>
  </tr>
   </table>
 <input type="button" onclick=cellvalues()>
 </body>

  </html>
于 2013-08-26T11:24:45.227 に答える
0

これを試すことができます(テストされていません)

var tab = document.getElementsByTagName("table")[0];
var tr = tab.childNodes;

for (var i = 0; i < tr.length; i++) {
    var td = tr[i].childNodes;
    for (var j = 0; j < tr.length; j++) {
        if (td[j].innerHTML == "03") {
            alert(i + "," + j);
        }
    }

}
于 2013-08-26T11:16:01.520 に答える
-1

これにはjQuery インデックスを使用することをお勧めします。

var trCollection = $('table tr');
$('table td').each(function () {
    console.log(trCollection.index($(this).parent()));
});
于 2013-08-26T11:07:33.287 に答える