JS兼用IE的通过class名获取CSS对象组

原生js方法“document.getElementsByClassName”在ie8及其以下浏览器中不能使用,所以写了一个兼容IE的方法。

完整的页面代码如下: testJsGetCssClass.html

=”text/css”>.test_class_div {font-size: 14px;border: 1px solid #ccc;margin: 10px;padding: 5px;font-weight: bold;color: red;}</style><script>/***打印js对象详细信息*/{var description = “”;for ( var i in obj){var property = obj[i];description += i + ” = ” + property + “\n”;}alert(description);}/***通过class名和标签名获取css样式对象组*/{if (document.getElementsByClassName){return document.getElementsByClassName(classStr)} else{//为了兼容ie8及其以下版本的方法var nodes = document.getElementsByTagName(tagName), ret = [];for (i = 0; i < nodes.length; i++){if (hasClass(nodes[i], classStr)){ret.push(nodes[i])}}return ret;}}/***判断节点class存在性*/{//这个正则表达式是因为class可以有多个,判断是否包含 var arr = tagStr.className.split(/\s+/);for ( var i = 0; i < arr.length; i++){if (arr[i] == classStr){return true;}}return false;}>==”test_class_div”>33333333</div><script>//由于加载顺序,获取对象的代码应写在对象已加载之后var divs = getClassNames(‘test_class_div’, ‘div’);if (null != divs){alertObj(divs);//遍历对象,改其css样式for ( var i = 0; i < divs.length; i++){divs[i].style.color = “blue”;}}>

运行结果: 初始字体颜色为红色,通过对象组修改后为蓝色。

firefox:

ie8:

,不求与人相比,但求超越自己,要哭就哭出激动的泪水,要笑就笑出成长的性格。

JS兼用IE的通过class名获取CSS对象组

相关文章:

你感兴趣的文章:

标签云: