zoukankan      html  css  js  c++  java
  • js table隔行变色

      // this function is need to work around 
      // a bug in IE related to element attributes
      function hasClass(obj) {
         var result = false;
         if (obj.getAttributeNode("class") != null) {
             result = obj.getAttributeNode("class").value;
         }
         return result;
      }   

     function stripe(id) {

        // the flag we'll use to keep track of 
        // whether the current row is odd or even
        var even = false;
      
        // if arguments are provided to specify the colours
        // of the even & odd rows, then use the them;
        // otherwise use the following defaults:
        var evenColor = arguments[1] ? arguments[1] : "#fff";
        var oddColor = arguments[2] ? arguments[2] : "#eee";
      
        // obtain a reference to the desired table
        // if no such table exists, abort
        var table = document.getElementById(id);
        if (! table) { return; }
        
        // by definition, tables can have more than one tbody
        // element, so we'll have to get the list of child
        // <tbody>s 
        var tbodies = table.getElementsByTagName("tbody");

        // and iterate through them...
        for (var h = 0; h < tbodies.length; h++) {
        
         // find all the &lt;tr&gt; elements... 
          var trs = tbodies[h].getElementsByTagName("tr");
          
          // ... and iterate through them
          for (var i = 0; i < trs.length; i++) {

            // avoid rows that have a class attribute
            // or backgroundColor style
            if (!hasClass(trs[i]) && ! trs[i].style.backgroundColor) {
     
             // get all the cells in this row...
              var tds = trs[i].getElementsByTagName("td");
            
              // and iterate through them...
              for (var j = 0; j < tds.length; j++) {
            
                var mytd = tds[j];

                // avoid cells that have a class attribute
                // or backgroundColor style
                if (! hasClass(mytd) && ! mytd.style.backgroundColor) {
            
                  mytd.style.backgroundColor = even ? evenColor : oddColor;
                  
                }
              }
            }
            // flip from odd to even, or vice-versa
            even =  ! even;
          }
        }
      }
  • 相关阅读:
    关于内存对齐的一点理解
    绿萝记
    《程序是怎样跑起来的》读书笔记——第五章 内存和磁盘的亲密关系
    《程序是怎样跑起来的》读书笔记——第四章 熟练使用有棱有角的内存
    《程序是怎样跑起来的》读书笔记——第三章 计算机进行小数运算时出错的原因
    《程序是怎样跑起来的》读书笔记——第二章 数据是用二进制数表示的
    《程序是怎样跑起来的》读书笔记——第一章 对程序员来说CPU是什么
    代理模式--学习记录
    latex学习--基础知识
    JavaIO之File类
  • 原文地址:https://www.cnblogs.com/shihao/p/2215788.html
Copyright © 2011-2022 走看看