封装class类--分割类名后

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <title>Document</title>
    <script>
        window.onload=function()
        {
            function getclass(classname)
            {
                if(document.getElementsByClassName)
                {
                    return document.getElementsByClassName(classname);
                }

                var dom=document.getElementsByTagName("*");    
                var arr=[];
                for(var i=0;i<dom.length;i++)
                {
                    var fengehou=dom[i].className.split(" ");   //把所有盒子的类名(字符串)分割并且转换成数组(fenggehou[])
                    for(var j=0;j<fengehou.length;i++)  //遍历分割后的数组
                    {
                        if(fengehou[j].className==classname)
                        {
                            arr.push(dom[i]);  //如果分割后的数组中的元素的类名和classname一致,就把这个元素所在的分割前的盒子放到arr[]数组中,计算分割前包含classname的盒子数量
                        }
                    }
                }
                return arr;
            }

            console.log(getclass("demo").length); //结果是3(通过类名找元素)
        }
    </script>
</head>
<body>
<div class="demo"></div>
<div class="text"></div>
<div></div>
<div class="demo"></div>
<div></div>
<div></div>
<div class="demo text"></div>
<div></div>
<div></div>
<div class="text one two"></div>
</body>
</html>

  

原文地址:https://www.cnblogs.com/shanlu0000/p/11203100.html