-1

同じクラスによって名前が付けられた特定のテーブルの他のすべての行を強調表示するためにJavaScriptで作業している関数があります...問題が発生しています。コードはうまく機能しますが、最初のテーブルのみを検出しますそのクラスで名前が付けられています...同じクラスで名前が付けられたすべての単一のテーブルに対してタスクを実行する必要があります。

私はいくつかのことを試しましたが、何もうまくいきませんでした...何か提案はありますか?ありがとう!

これが私が取り組んでいるものです

  function start(){
     var list=document.getElementsByClassName("highlight");
     for(i=0; i<list.length; i++){
     var element= list[i].getElementsByTagName("tr");

for(i=0; i<element.length; i++)
{
    if (i%2 == 0) {
        element[i].className = "odd"
    }
    else{
        element[i].className = "even";
    }
  }
    }
  }

   window.addEventListener("load", start, false);
4

2 に答える 2

1

内部の for ステートメントで別の変数を使用する必要があります。

ここで実際のサンプルを参照してください: http://codepen.io/anon/pen/wsCxG

window.onload = start;

function start(){
    var list=document.getElementsByClassName("highlight");

    for(i=0; i<list.length; i++)
     {
         var element= list[i].getElementsByTagName("tr");

        for(j=0; j<element.length; j++)
        {
            if (j%2 == 0) {
                element[j].className = "odd"
            }
            else{
                element[j].className = "even";
            }
          }
    }
}
于 2013-11-08T00:14:39.333 に答える