博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js兼容性
阅读量:5062 次
发布时间:2019-06-12

本文共 1064 字,大约阅读时间需要 3 分钟。

1.getElementByClassName

在使用原生时,获取类选择符时,即使用getElementByClassName,它在Firefox和IE下是不能兼容。

Firefox下是可以用它获取的到元素而IE不行,一般框架都会实现该方法,达到在IE和Firefox下兼容的问题。

function getByClassName(className){  			if(document.getElementByClassName){  				return document.getElementByClassName(className) //FF下因为有此方法,所以可以直接获取到;  			}  			var nodes=document.getElementsByTagName("*");//获取页面里所有元素,因为他会匹配全页面元素,所以性能上有缺陷,但是可以约束他的搜索范围;  			var arr=[];//用来保存符合的className;  			for(var i=0;i
function hasClass(node,className){  			var cNames=node.className.split(/\s+/);//根据空格来分割node里的元素;  			for(var i=0;i

 

另从网上看到一种解决的办法:

 

由于IE4之后对 document.all 都有支持,所以可以简单的利用是否支持 document.all判断是否为IE。

如果不是IE,则用W3C DOM的document.getElementByTagName('*')取代all

 

function getElementsByClassName (className) {			var all = document.all ? document.all : document.getElementsByTagName('*');			var elements = new Array();			for (var e = 0; e < all.length; e++) {				if (all[e].className == className) {					elements[elements.length] = all[e];					break;				}			}			return elements;		}

转载于:https://www.cnblogs.com/xuyan1/p/6028509.html

你可能感兴趣的文章
STL之List存储结构体
查看>>
★古今中外著名14大悖论
查看>>
[IIS] 测试的产品登陆之后有个引用外部站点js的请求半天都无法返回,导致网页一直在打转,Selenium的driver也无法对页面进行下一步的操作...
查看>>
[转]EeeBox 安裝 Debian 後驅動 Wireless 筆記
查看>>
C++中的1LL
查看>>
Python私有变量
查看>>
数据库Sharding的基本思想和切分策略
查看>>
javascript:event对象
查看>>
react-native 踩坑记
查看>>
VC为控件添加背景
查看>>
Wojilu学习笔记 (01)
查看>>
web.xml上下文初始化参数
查看>>
C语言的角落——C之很常使用特性(一)
查看>>
ACM-ICPC 2017 西安赛区现场赛 A. XOR(线性基+线段树)
查看>>
聊聊Mysql优化之索引优化
查看>>
Win10内部更新:警告用户别用chrome和Firefox
查看>>
Eclipse IDE for C/C++ Developers和MinGW安装配置C/C++开发学习环境详解
查看>>
玩转DataGridView之行的展开与收缩
查看>>
外部Javascript文件获取.NET页面中服务器控件的ID
查看>>
Jquery Easy UI 中的datagrid通过url调用webservice返回json数据
查看>>