クラスを追加する行を特定する何らかの方法が必要です。(質問のように同じ値を何度も使用することはできないため、機能しませんが、異なるid
値を与えることはできます。) id
tr
問題の要素を特定する方法が分かったら、あとclassName
はそれらの要素のプロパティを設定するだけです。
たとえば、あなたの例では、テーブルの 2 番目、3 番目、4 番目の行を特定しました。テーブルに があると仮定すると、そのプロパティid
"myTable"
からテーブルの行を取得できます。rows
HTMLCollection
0
var table = document.getElementById("myTable");
table.rows[1].className = "classA"; // second row
table.rows[2].className = "classB"; // third row
table.rows[3].className = "classC"; // fourth row
これにより、行が持っていた以前のクラスがすべて消去されることに注意してください。クラスを追加する場合は、次を使用します+= " classX"
(スペースに注意してください)。
var table = document.getElementById("myTable");
table.rows[1].className += " classA"; // second row
table.rows[2].className += " classB"; // third row
table.rows[3].className += " classC"; // fourth row
上記では、ほぼすべてのブラウザー (古いブラウザーも含む) に存在する DOM 関数に限定しました。およびコレクションではなく、すべての主要な現在のブラウザーで、クラスを追加する行を識別する有効な CSS セレクター式を使用できます。説明したことには必ずしも必要ではありませんが、それについて知っておくとよいでしょう (および、一致する要素のリストを返すのに対し、最初の一致する要素だけを返すその従兄弟)。getElementById
rows
querySelector
querySelectorAll
querySelector