Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 670127
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 14, 20262026-05-14T00:13:42+00:00 2026-05-14T00:13:42+00:00

I have a page with several tables on it with the same class name.

  • 0

I have a page with several tables on it with the same class name. I want to alternate the colors of the rows of every table on this page. I’m using the code below with . This code isn’t working correctly, because only 1 table is alternating colors at a time (the first table). what am I doing wrong? All the tables on my page has “mytable” class.

function altrows(classname,firstcolor,secondcolor)
{
    var tableElements = document.getElementsByClassName(classname) ;
    for(var j= 0; j < tableElements.length; j++)
    {
        var table = tableElements[j] ;

        var rows = table.getElementsByTagName("tr") ;
        for(var i = 0; i < rows.length; i=i+2)
        {
            rows[i].bgColor = firstcolor ;
            rows[i+1].bgColor = secondcolor ;
        }
    }
}
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-14T00:13:43+00:00Added an answer on May 14, 2026 at 12:13 am

    If one of your tables has an odd number of rows, your function will break on the line

            rows[i+1].bgColor = secondcolor ;
    

    and not process any of the following tables. You should either check whether there is a row before setting the secondcolor:

    function altrows(classname,firstcolor,secondcolor)
    {
       var tableElements = document.getElementsByClassName(classname) ;
       for(var j= 0; j < tableElements.length; j++)
       {
          var table = tableElements[j] ;
    
          var rows = table.getElementsByTagName("tr") ;
          for(var i = 0; i < rows.length; i=i+2)
          {
            rows[i].bgColor = firstcolor ;
            if ( i+1 < rows.length ) {
                rows[i+1].bgColor = secondcolor ;
            }
          }
       }
    }
    

    or loop over every row rather than looping over sets of two rows:

    function altrows(classname,firstcolor,secondcolor)
    {
       var tableElements = document.getElementsByClassName(classname) ;
       for(var j= 0; j < tableElements.length; j++)
       {
          var table = tableElements[j] ;
    
          var rows = table.getElementsByTagName("tr") ;
          for(var i = 0; i < rows.length; i++)
          {
            rows[i].bgColor = (i%2==0) ? firstcolor : secondcolor ;
          }
       }
    }
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have several <li> elements with different id's on ASP.NET page: <li id=li1 class=class1>
I have several jQuery-ui range sliders on a page which add and remove rows
I have a page with several controls. The controls are bound to display values
Here's my scenario: I have a page containing several links; each link is meant
I have a custom SharePoint page with several dataviews. The dataviews essentially filter documents
I have a login page that has several textboxes on the page, one of
We have a page of search results which the user can hit in several
I have several input and option elements on my page, each (well almost) have
Say I have several JavaScript includes in a page: <script type=text/javascript src=/js/script0.js></script> <script type=text/javascript
If you have several div s on a page, you can use CSS to

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.