私はJavaScriptが初めてで、練習のために、JavaScriptを使用して特定のクラスのテーブルの行をストライプ化しています。それに加えて、JavaScriptのみを使用して、テーブルの行に「ホバー」効果を作成しようとしています。
onmouseover 効果を作成できましたが、テーブル行のデフォルト スタイル onmouseout に戻すのは非常に困難です。
これは css または JQuery を使用して簡単に実現できることを覚えておいてください。ただし、これについては、javascript のみに固執したいと思います。
私が試したこと:
function alternate(){
var tables = document.getElementsByTagName("table");
//apply the code to ALL tables on the page with a particular class
for (var ti = 0; ti < tables.length; ++ti) {
if (tables[ti].className == "striped"){ //stripe tables
var rows = tables[ti].getElementsByTagName("tr");
for(i = 0; i < rows.length; i++){
//change style of even rows to create striped effect
if(i % 2 == 0){
rows[i].className += "even"; //stripe even rows while maintaining default style to odd rows
}
rows[i].onmouseover = function() {
this.className="";
this.className="hovered";
}
rows[i].onmouseout = function() {
if(i % 2 == 0){
this.className="even";
}else{
this.className="odd";
}
}
}
}
}
}