交替使用Javascript问题的表行

交替使用Javascript问题的表行,javascript,html,row,tablerow,Javascript,Html,Row,Tablerow,我有下面的脚本向交替的表行添加奇偶类,效果很好 function alternate(){ if(document.getElementsByTagName){ var table = document.getElementsByTagName("table"); var rows = document.getElementsByTagName("tr"); for(i = 0; i < rows.length; i++){ //manipulate rows

我有下面的脚本向交替的表行添加奇偶类,效果很好

function alternate(){ 
if(document.getElementsByTagName){  
var table = document.getElementsByTagName("table");
var rows = document.getElementsByTagName("tr");
    for(i = 0; i < rows.length; i++){
  //manipulate rows   
      if(i % 2 == 0){  
        rows[i].className = "even"; 
      }else{  
        rows[i].className = "odd"; 
      }
    }
  } 
}
函数替换(){
if(document.getElementsByTagName){
var table=document.getElementsByTagName(“表”);
var rows=document.getElementsByTagName(“tr”);
对于(i=0;i
但是,当一个页面上有多个表时,就会出现问题。我需要为页面上的每个表重置计数器,以便每个表的第一行始终具有相同的类(即奇数)。目前,页面上的第二个表将只进行奇偶行计数,因此如果第一个表的行数为奇数,它将从另一个类开始

有人能帮我更改此代码以实现此目的吗?

给你:

function alternate() {
    var i, j, tables, rows;

    tables = document.getElementsByTagName( 'table' );

    for ( i = 0; i < tables.length; i += 1 ) {
        rows = tables[i].rows;

        for ( j = 0; j < rows.length; j += 1 ) {
            rows[j].className = j % 2 ? 'even' : 'odd';
        }
    }   
}
现场演示:给你:

function alternate() {
    var i, j, tables, rows;

    tables = document.getElementsByTagName( 'table' );

    for ( i = 0; i < tables.length; i += 1 ) {
        rows = tables[i].rows;

        for ( j = 0; j < rows.length; j += 1 ) {
            rows[j].className = j % 2 ? 'even' : 'odd';
        }
    }   
}

现场演示:

您必须为每个表添加一个

function alternate(){ 
  if(document.getElementsByTagName){  
    var table = document.getElementsByTagName("table");
    // each table
    for(a = 0; a < table.length; a++){
      var rows = table[a].getElementsByTagName("tr");
      for(i = 0; i < rows.length; i++){
        //manipulate rows   
        if(i % 2 == 0){  
          rows[i].className = "even"; 
        }else{  
          rows[i].className = "odd"; 
        }
      }
    }
  }
}
函数替换(){
if(document.getElementsByTagName){
var table=document.getElementsByTagName(“表”);
//每张桌子
对于(a=0;a
您必须为每个表添加一个

function alternate(){ 
  if(document.getElementsByTagName){  
    var table = document.getElementsByTagName("table");
    // each table
    for(a = 0; a < table.length; a++){
      var rows = table[a].getElementsByTagName("tr");
      for(i = 0; i < rows.length; i++){
        //manipulate rows   
        if(i % 2 == 0){  
          rows[i].className = "even"; 
        }else{  
          rows[i].className = "odd"; 
        }
      }
    }
  }
}
函数替换(){
if(document.getElementsByTagName){
var table=document.getElementsByTagName(“表”);
//每张桌子
对于(a=0;a
根据每个表执行此工作

 function alternate(){ 
 if(document.getElementsByTagName){  
var table = document.getElementsByTagName("table");

var rows = document.getElementsByTagName("tr");

for(var a = 0; a < table.length; a++){
{
   for(var i = 0; i < table[a].rows.length; i++){
  //manipulate rows   
  if(i % 2 == 0){  
    table[a].rows[i].className = "even"; 
     }else{  
     table[a].rows[i].className = "odd"; 
      }
    }

    }

  } }

}
函数替换(){
if(document.getElementsByTagName){
var table=document.getElementsByTagName(“表”);
var rows=document.getElementsByTagName(“tr”);
对于(var a=0;a
根据每个表执行此工作

 function alternate(){ 
 if(document.getElementsByTagName){  
var table = document.getElementsByTagName("table");

var rows = document.getElementsByTagName("tr");

for(var a = 0; a < table.length; a++){
{
   for(var i = 0; i < table[a].rows.length; i++){
  //manipulate rows   
  if(i % 2 == 0){  
    table[a].rows[i].className = "even"; 
     }else{  
     table[a].rows[i].className = "odd"; 
      }
    }

    }

  } }

}
函数替换(){
if(document.getElementsByTagName){
var table=document.getElementsByTagName(“表”);
var rows=document.getElementsByTagName(“tr”);
对于(var a=0;a
与脚本无关,但您似乎希望对偶数行和奇数行应用不同的类。CSS3有这样的规则:
tr:nth child(偶数)
tr:nth child(奇数)
。您可能需要切换类名-第一行的索引为
0
,这意味着奇数行的索引为偶数…与脚本无关,但您似乎希望对偶数行和奇数行应用不同的类。CSS3有这样的规则:
tr:nth child(偶数)
tr:nth child(奇数)
。您可能需要切换类名-第一行的索引为
0
,这意味着奇数行的索引为偶数…“奇数”和“偶数”从后到前-奇数行将获得偶数类,反之亦然。@RobG Yes,我已经在对原始问题的评论中提到了这一点。好吧,在回答中这样的陈述将使它独立于帮助像我这样的略读者。:-)太好了,谢谢:)现在看起来太明显了!“奇数”和“偶数”从后面到前面-奇数行将得到偶数类,反之亦然。@RobG是的,我已经在对原始问题的评论中提到了这一点。好的,在回答中这样的陈述将使它独立于帮助像我这样的略读者。:-)太好了,谢谢:)现在看起来太明显了!