getElementsByClassName的用法 和 js获取class

2023-05-04,,

因为IE浏览器不支持getElementsByClassName,所以你要自己写一个方法得到class

但是火狐浏览器知道getElementsByClassName,可以直接的

 

<html>

<head>

    <title></title>

    <script type="text/javascript">

        window.onload = function () {

            var tagName = getClass("div", "a1");

           //因为返回的是包含多个元素的数组,所以要遍历一下

            for (var i = 0; i < tagName.length; i++) { 

                tagName[i].innerHTML = "你好";

            }

           

            var tagName = getClass("div", "a2");

            for (var i = 0; i < tagName.length; i++) {

                tagName[i].innerHTML = "ALL好";

            }

        }

        function getClass(tagname, className) { //tagname指元素,className指class的值

         //判断浏览器是否支持getElementsByClassName,如果支持就直接的用

            if (document.getElementsByClassName) {   

                return getElementsByClassName(className);

            }

            else {    //当浏览器不支持getElementsByClassName的时候用下面的方法

                var tagname = document.getElementsByTagName_r(tagname);  //获取指定元素

                var tagnameAll = [];     //这个数组用于存储所有符合条件的元素

                for (var i = 0; i < tagname.length; i++) {     //遍历获得的元素

                    if (tagname[i].className == className) {     //如果获得的元素中的class的值等于指定的类名,就赋值给tagnameAll

                        tagnameAll[tagnameAll.length] = tagname[i];

                    }

                }

                return tagnameAll;

            }

        }

    </script>

</head>

<body>

<div class="a1"></div>

<div class="a1"></div>

<div class="a1"></div>

<div class="a1"></div>

<div class="a2"></div>

<div class="a2"></div>

<div class="a2"></div>

<div class="a2"></div>

</body>

</html>

我建议不要用上面的方法,用JQuery,可以省去很多的代码

《getElementsByClassName的用法 和 js获取class.doc》

下载本文的Word格式文档,以方便收藏与打印。