HTML DOM tr オブジェクト: 表格行操作ガイド
このドキュメントでは、HTML DOMの <tr>
オブジェクトについて詳しく解説します。<tr>
オブジェクトはHTMLテーブルの行を表し、JavaScriptを使って行の属性、メソッド、動的な操作方法について説明します。
1. <tr>
オブジェクトとは?
<tr>
は、HTMLテーブルの1行を表し、テーブルデータ (<td>
要素) が含まれる行を定義します。
<tr>
は<table>
要素の子要素であり、<table>
要素内で使用する必要があります。
2. <tr>
オブジェクトのプロパティ
<tr>
オブジェクトには、以下のプロパティがあります。
プロパティ | 説明 |
---|---|
rowIndex |
行のインデックス番号を返します (0 から始まります)。 |
cells |
行内のすべてのセル (<td> 要素) を含む HTMLCollection を返します。 |
sectionRowIndex |
行が属するセクション (<thead> 、<tbody> 、<tfoot> ) 内でのインデックス番号を返します。 |
3. <tr>
オブジェクトのメソッド
<tr>
オブジェクトには、以下のメソッドがあります。
メソッド | 説明 |
---|---|
insertCell() |
指定した位置に新しいセル (<td> 要素) を挿入します。 |
deleteCell() |
指定した位置のセルを削除します。 |
4. <tr>
オブジェクトを使ったテーブル行の操作方法
4.1 表格行の取得
getElementsByTagName("tr")
メソッドまたは querySelector()
メソッドを使用して、テーブル内の行を取得できます。
<table id="myTable">
<tr>...</tr>
</table>
<script>
// すべての行を取得
const rows = document.getElementById("myTable").getElementsByTagName("tr");
// 最初の行を取得
const firstRow = document.querySelector("#myTable tr");
</script>
4.2 表格行の走査
for
ループを使用して、テーブル内のすべての行を走査できます。
<table id="myTable">
<tr>...</tr>
</table>
<script>
const table = document.getElementById("myTable");
const rows = table.getElementsByTagName("tr");
for (let i = 0; i < rows.length; i++) {
// 各行に対する処理
console.log(rows[i]);
}
</script>
4.3 新しい行の追加
insertRow()
メソッドを使用して、テーブルに新しい行を追加できます。
<table id="myTable">
<tr>...</tr>
</table>
<script>
const table = document.getElementById("myTable");
// 新しい行を作成
const newRow = table.insertRow();
// 新しいセルを追加
const newCell = newRow.insertCell();
newCell.textContent = "新しいセル";
</script>
4.4 行の削除
deleteRow()
メソッドを使用して、指定した行を削除できます。
<table id="myTable">
<tr>...</tr>
</table>
<script>
const table = document.getElementById("myTable");
// 2 番目の行を削除
table.deleteRow(1);
</script>
5. サンプルコード
以下のサンプルコードは、JavaScriptを使用して、テーブルの行を取得、追加、削除、変更する方法を示しています。
<!DOCTYPE html>
<html>
<head>
<title>テーブルの操作</title>
</head>
<body>
<table id="myTable" border="1">
<tr>
<th>名前</th>
<th>年齢</th>
</tr>
<tr>
<td>田中太郎</td>
<td>30</td>
</tr>
</table>
<br>
<button onclick="addRow()">行の追加</button>
<button onclick="deleteRow()">最後の行を削除</button>
<script>
function addRow() {
// テーブルを取得
var table = document.getElementById("myTable");
// 新しい行を作成
var newRow = table.insertRow();
// 新しいセルを追加
var cell1 = newRow.insertCell();
var cell2 = newRow.insertCell();
// セルの内容を設定
cell1.innerHTML = "新しい行";
cell2.innerHTML = "";
}
function deleteRow() {
// テーブルを取得
var table = document.getElementById("myTable");
// 最後の行を削除
table.deleteRow(table.rows.length - 1);
}
</script>
</body>
</html>
関連リソース
- <table> 要素: https://developer.mozilla.org/ja/docs/Web/HTML/Element/table
- <td> 要素: https://developer.mozilla.org/ja/docs/Web/HTML/Element/td
よくある質問
-
Q:
<tr>
要素は<table>
要素の外で使用できますか?A: いいえ、
<tr>
要素は<table>
要素の子要素としてのみ使用できます。<table>
要素の外で使用すると、ブラウザが正しく表示できない可能性があります。 -
Q: JavaScript でテーブルの特定のセルにアクセスするにはどうすればよいですか?
A:
table.rows[行インデックス].cells[セルインデックス]
を使用して、特定のセルにアクセスできます。たとえば、2 行目の 3 番目のセルにアクセスするには、table.rows[1].cells[2]
を使用します。 -
Q: 既存の行にセルを追加するにはどうすればよいですか?
A:
insertCell()
メソッドを使用して、既存の行にセルを追加できます。たとえば、2 行目にセルを追加するには、table.rows[1].insertCell()
を使用します。