Javascript classList.contains(';outputDiv';)在IE 9及更早版本中不受支持,
Javascript classList.contains(';outputDiv';)在IE 9及更早版本中不受支持,,javascript,internet-explorer,contains,Javascript,Internet Explorer,Contains,classList.contains('outputDiv')在IE 9及更早版本中不受支持,是否有其他替代方案 我的代码如下: function toggleclass() { var elems = document.getElementsByClassName("outputDivs"); for (var i = 0; i < elems.length; ++i) { if (elems[i].classList.contains("outputD
classList.contains('outputDiv')
在IE 9及更早版本中不受支持,是否有其他替代方案
我的代码如下:
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";
}
}
函数切换类(){
var elems=document.getElementsByClassName(“outputDivs”);
对于(变量i=0;i
谢谢你的帮助。你可以试试这个
或者只需使用className,然后搜索返回的字符串。您可以试试这个
或者只需使用className,并搜索返回的字符串。不确定它是否会像未测试为crossbrowser工作一样工作。您可以尝试:-
classList.indexOf("outputDivsDesigned") != -1
不确定它是否会像未测试的那样工作,您可以尝试:-
classList.indexOf("outputDivsDesigned") != -1
如果您只需要
.contains()
功能,请搜索类名
中的子字符串,即元素[i].className.indexOf(“outputDivsDesigned”)>-1
因此,您的函数如下所示:
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";
}
}
函数toggleclass(){
var elems=document.getElementsByClassName(“outputDivs”);
对于(变量i=0;i-1)
elems[i].className=“outputDivs”;
其他的
元素[i].className+=“outputDivsDesigned”;
}
}
如果您只需要.contains()
功能,请搜索类名
中的子字符串,即元素[i].className.indexOf(“outputDivsDesigned”)>-1
因此,您的函数如下所示:
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";
}
}
函数toggleclass(){
var elems=document.getElementsByClassName(“outputDivs”);
对于(变量i=0;i-1)
elems[i].className=“outputDivs”;
其他的
元素[i].className+=“outputDivsDesigned”;
}
}
我刚刚写了这篇文章,也许会有帮助
它基本上解释了您可以使用的这个简单的替代方案:
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;
}
}
然后您将像这样运行函数
var isFeaturedPost = containsClass(obj, 'featured-post-class');
编辑:我已经更新了函数来检查yourObj是否存在,以及yourClass是否是字符串。我刚刚写了这篇文章,也许会有帮助 它基本上解释了您可以使用的这个简单的替代方案:
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;
}
}
然后您将像这样运行函数
var isFeaturedPost = containsClass(obj, 'featured-post-class');
编辑:我已经更新了函数,以检查yourObj是否存在,以及yourClass是否是字符串。MDN上有一个适用于旧浏览器(下至IE8)的垫片-MDN上有一个适用于旧浏览器(下至IE8)的垫片-