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;
          }
        }
      }
  • 相关阅读:
    document.getElementById("mytxt").style.left=""style.left在IE的FF中注意
    asp.net 用户控件中 使用相对路径的解决方法 图片路径问题(用户控件、图片路径) ,ResolveUrl
    探索 Block (一) (手把手讲解Block 底层实现原理)
    iOS 多线程开发 (概念与API简介)
    iOS 性能小点
    iOS runtime (二)(runtime学习之AutoCoding源码分析)
    探索 NSRunLoop (二)(NSRunLoop 自己动手实现SimpleRunLoop)
    iOS NSNotificationCenter (自己实现一个通知中心XMCNotificationCenter)
    iOS runtime (三)(runtime学习之YYModel源码分析)
    iOS runtime(一)(runtime 分析理解)
  • 原文地址:https://www.cnblogs.com/shihao/p/2215788.html
Copyright © 2011-2022 走看看