JS兼用IE的通过class名获取CSS对象组
来源:互联网 发布:淘宝代刷信誉是真的吗 编辑:程序博客网 时间:2024/05/29 08:17
原生js方法“document.getElementsByClassName”在ie8及其以下浏览器中不能使用,所以写了一个兼容IE的方法。
完整的页面代码如下:
testJsGetCssClass.html
<html><head><style type="text/css">.test_class_div { font-size: 14px; border: 1px solid #ccc; margin: 10px; padding: 5px; font-weight: bold; color: red;}</style><script> /** *打印js对象详细信息 */ function alertObj(obj) { var description = ""; for ( var i in obj) { var property = obj[i]; description += i + " = " + property + "\n"; } alert(description); } /** *通过class名和标签名获取css样式对象组 */ function getClassNames(classStr, tagName) { 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存在性 */ function hasClass(tagStr, classStr) { //这个正则表达式是因为class可以有多个,判断是否包含 var arr = tagStr.className.split(/\s+/); for ( var i = 0; i < arr.length; i++) { if (arr[i] == classStr) { return true; } } return false; }</script></head><body> <div class="test_class_div">11111111</div> <div class="test_class_div">22222222</div> <div class="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"; } } </script></body></html>
运行结果:
初始字体颜色为红色,通过对象组修改后为蓝色。
firefox:
ie8:
1 0
- JS兼用IE的通过class名获取CSS对象组
- js通过Class Name获取一个对象的数组
- js通过Class Name获取一个对象的数组
- js通过类名获取元素对象
- 获取指定class名的元素,并兼容IE
- IE兼用性问题
- js通过事件获取页面元素对象-适用于IE、FireFox
- 原生Js通过class属性值获取对象
- java中利用类名生成Class对象,通过class对象创建实体类的理解
- js蛋疼的Class(获取class对象)
- js获取class-----ie不支持getElementsByClassName
- js如何获取css里面的样式 兼容IE
- 通过构造函数反射--通过一个对象获取一个完整的包名和类名
- js封装:获取class类名
- js-如何获取class对象
- 通过字符串名称来获取接口的class对象
- JS 获取触发事件的对象(IE/FireFox)
- js:类名/id/name获取对象的实现
- DJI IOS 开发之四:不得不的结束
- Birt4.4.2学习笔记(一)
- substr函数
- ExecutorCompletionService
- centos升级yum源
- JS兼用IE的通过class名获取CSS对象组
- CSS样式定义
- Android Drawable 自定义(圆角图片和圆形图片)
- MySQL之旅_Day02
- Android 蓝牙BLE 4.0 属性判断
- Animation 笔记
- VMware识别虚拟磁盘出错的解决
- Ant 多渠到混淆打包
- spring各个jar包的作用