trObject.sectionRowIndexプロパティ

trObject.sectionRowIndexは、表(table要素)のブロック(セクション)ごとの行(tr要素)のインデックス番号を取得するプロパティ。

このプロパティが返すインデックス番号は、tableObject.rowsコレクションにおけるインデックス番号のこと。

表(table要素)におおけるブロック(セクション)とは、tbody要素や、thead要素、tfoot要素で括った部分のこと。

取得

$trElementReference.sectionRowIndex;

戻り値

  • ブロック(セクション)ごとの行(tr要素)のインデックス番号。
  • tableObject.rowsコレクションにおけるインデックス番号。
  • 「0」から始まる点に注意。

$tableElementReference.rows[0].sectionRowIndex; // 表の1行目の行のブロック別インデックス番号「0」
$tableElementReference.rows[2].sectionRowIndex; // 表の3行目の行のブロック別インデックス番号「2」

サンプル

カーソルを合わせた行(tr要素)のブロック別インデックス:

ヘッダ1-1 ヘッダ1-2 ヘッダ1-3
ヘッダ2-1 ヘッダ2-2 ヘッダ2-3
1行目1列目 1行目2列目 1行目3列目
2行目1列目 2行目2列目 2行目3列目
3行目1列目 3行目2列目 3行目3列目
フッタ1-1 フッタ1-2 フッタ1-3
フッタ2-1 フッタ2-2 フッタ2-3

サンプルの動作について

表のセルにカーソルを合わせると、そのセルの背景色を黄色にする。「カーソルを合わせた行(tr要素)のインデックス:」の右横に、カーソルを合わせた行(tr要素)のブロックごとのインデックス番号を表示する。

サンプルのソースコード

JavaScript

<script type="text/javascript">
window.onload = function(){
    var $sampleRows = document.getElementById( "sample" ).rows;
    for ( var $sectionRowIndex = 0; $sectionRowIndex < $sampleRows.length; $sectionRowIndex++ ) {
        $sampleRows[$sectionRowIndex].onmouseover = function(){
            this.style.backgroundColor = "yellow";
            document.getElementById( "sampleOutput" ).innerHTML = this.sectionRowIndex;
        };
        $sampleRows[$sectionRowIndex].onmouseout = function(){
            this.style.backgroundColor = "";
        };
    }
}
</script>

HTML

<p>
    カーソルを合わせた行(tr要素)のブロック別インデックス:<span id="sampleOutput"></span>
</p>
<table id="sample">
    <thead>
        <tr>
            <th>ヘッダ1-1</th>
            <th>ヘッダ1-2</th>
            <th>ヘッダ1-3</th>
        </tr>
        <tr>
            <th>ヘッダ2-1</th>
            <th>ヘッダ2-2</th>
            <th>ヘッダ2-3</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>1行目1列目</td>
            <td>1行目2列目</td>
            <td>1行目3列目</td>
        </tr>
        <tr>
            <td>2行目1列目</td>
            <td>2行目2列目</td>
            <td>2行目3列目</td>
        </tr>
        <tr>
            <td>3行目1列目</td>
            <td>3行目2列目</td>
            <td>3行目3列目</td>
        </tr>
    </tbody>
    <tfoot>
        <tr>
            <th>フッタ1-1</th>
            <th>フッタ1-2</th>
            <th>フッタ1-3</th>
        </tr>
        <tr>
            <th>フッタ2-1</th>
            <th>フッタ2-2</th>
            <th>フッタ2-3</th>
        </tr>
    </tfoot>
</table>

CSS

<style>
#sample {
    background-color: white;
    cursor: pointer;
}
#sample tr,
#sample th,
#sample td {
    background-color: inherit;
    font-size: inherit !important;
    color: inherit !important;
}
#sample thead,
#sample tfoot {
    background-color: lightblue;
}
</style>

スポンサード リンク

カテゴリー: DOM, JavaScript, Trオブジェクト, リファレンス パーマリンク