搜索相同类名的功能

Search function for the same class name

本文关键字:功能 同类 搜索      更新时间:2023-09-26

>我有一个函数,我在 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);

您需要在内部 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";
            }
          }
    }
}

那么纯CSS3呢?

tr:nth-child(odd) {
 background-color: green;
}
tr:nth-child(even) {
 background-color: red;
}

带高光

.highlight tr:nth-child(odd) {
 background-color: green;
}
.highlight tr:nth-child(even) {
 background-color: red;
}

http://jsfiddle.net/RppAT/

如果你想要JS(速记+while--)

function OE(){
 var lists=document.getElementsByClassName("highlight"),listsLength=lists.length;
 while(listsLength--){
  var trs=lists[listsLength].getElementsByTagName("tr"),trsLength=trs.length;
  while(trsLength--){
   trs[trsLength].className=(trsLength%2==0)?'odd':'even';
  }
 }
}
window.onload=OE;