[英]classList.contains('outputDiv') not supported in IE 9 and older,
classList.contains('outputDiv')
not supported in IE 9 and older, is there any alternative for that? classList.contains('outputDiv')
及更早版本中不支持classList.contains('outputDiv')
,有什么替代方案吗?
My code is as below: 我的代码如下:
function toggleclass() {
var elems = document.getElementsByClassName("outputDivs");
for (var i = 0; i < elems.length; ++i) {
if (elems[i].classList.contains("outputDivsDesigned"))
elems[i].className = "outputDivs";
else
elems[i].className += " outputDivsDesigned";
}
}
Thanks for any help. 谢谢你的帮助。
You can try this https://github.com/eligrey/classList.js 你可以试试这个https://github.com/eligrey/classList.js
or just use className, and search the returned string. 或者只使用className,然后搜索返回的字符串。
I just wrote this, perhaps it might be helpful? 我刚刚写了这个,也许它可能会有所帮助?
http://www.tjcafferkey.me/ie9-classname-containsclass-alternative/ http://www.tjcafferkey.me/ie9-classname-containsclass-alternative/
It basically explains this simple alternative you could use: 它基本上解释了您可以使用的这个简单替代
function containsClass(yourObj, yourClass) {
if(!yourObj || typeof yourClass !== 'string') {
return false;
} else if(yourObj.className && yourObj.className.trim().split(/\s+/gi).indexOf(yourClass) > -1) {
return true;
} else {
return false;
}
}
You would then run the function like this 然后,您将运行这样的功能
var isFeaturedPost = containsClass(obj, 'featured-post-class');
Edit: I've updated the function to check yourObj exists, and that yourClass is a string. 编辑:我已更新函数以检查yourObj是否存在,并且yourClass是一个字符串。
不确定它是否会起作用,因为没有测试过为crossbrowser工作,你可以尝试: -
classList.indexOf("outputDivsDesigned") != -1
If all you need is .contains()
functionality, search for the substring inside of the className
, ie elems[i].className.indexOf("outputDivsDesigned") > -1
. 如果您只需要
.contains()
功能,请搜索className
内的子字符串,即elems[i].className.indexOf("outputDivsDesigned") > -1
。
So your function would look like this: 所以你的功能看起来像这样:
function toggleclass() {
var elems = document.getElementsByClassName("outputDivs");
for (var i = 0; i < elems.length; ++i) {
if (elems[i].className.indexOf("outputDivsDesigned") > -1)
elems[i].className = "outputDivs";
else
elems[i].className += " outputDivsDesigned";
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.