IE8-实现document.getElementsByClassName

  IE8-不支持document.getElementsByClassName,IE8-如何实现document.getElementsByClassName功能。

  IE8-要想实现document.getElementsByClassName功能,需要使用document.getElementsByTagName获取指定标签集合(或者传递*获取所有节点),然后遍历对比className,包含就压入数组中,然后返回数组。

  IE8-不支持document.getElementsByClassName源代码如下,示例隐藏class为nsa的td

<title>IE8-实现document.getElementsByClassName</title>
<table><tr><td> 2 </td>
<td class="nsa"> 1 </td>
<td class="nsa"> 3 </td>
<td> 4 </td>
<td class="nsa"> 5 </td>
<td> 6 </td></tr></table>
<script>
    function getByClass(className,tagName) {
        if (document.getElementsByClassName) return document.getElementsByClassName(className);
        var rst = [],rx=new RegExp('\\b'+className+'\\b','i');
        var nodes = document.getElementsByTagName(tagName || '*');
        for (var i = 0; i < nodes.length; i++) if (rx.test(nodes[i].className)) rst.push(nodes[i]);
        return rst;
    }
    var nodes = getByClass('nsa', 'td');
    for(var i=0;i<nodes.length;i++)nodes[i].style.display='none'
</script>

 



原创文章,转载请注明出处:IE8-实现document.getElementsByClassName
评论(0)Web开发网
阅读(26)喜欢(0)不喜欢(0)JavaScript/Ajax