我有这个代码,即有问题。
var myIndex = 0;
carousel();
function carousel() {
var i;
var x = document.getElementsByClassName("mySlides");
for (i = 0; i < x.length; i++) {
x[i].style.display = "none";
}
myIndex++;
if (myIndex > x.length) {myIndex = 1}
x[myIndex-1].style.display = "block";
setTimeout(carousel, 3000); // Change image every 2 seconds
}
开发人员工具说明以下问题就在于此。它不会在我的网站上运行任何JS!所以我想这是因为这个问题。我知道这可能是非常基本的东西......不幸的是我不懂JS:(
var x = document.getElementsByClassName("mySlides");
错误是
对象不支持此属性或方法
作为Js的业余爱好者,我很高兴我的网站在Chrome和Firefox上创造奇迹 - 直到我的幸福一如既往地崩溃...
如果有人可以帮助阐明这一点,那将是非常有必要的。顺便说一句,我的Doctype被声明为
<!DOCTYPE html>
<html>
如果必须对它做任何事情。
提前感谢您提供任何帮助
我正在开发的网站http://www.mylaundrywala.com ...正如我所提到的,在Chrome和Firefox上正常运行。
答案 0 :(得分:1)
这取决于您正在测试代码的Internet Explorer。如您所见,IE9及更高版本支持该方法。 Document.getElementsByClassName() on MDN
有人还提出了一个解决方法:getElementsByClassName() doesn't work in old Internet Explorers like IE6, IE7, IE8
答案 1 :(得分:1)
旧IE不支持getByClassName。
您可以使用以下代码作为此
的周转时间 function getElementsByClassName(className) {
var found = [];
var elements = document.getElementsByTagName("*");
for (var i = 0; i < elements.length; i++) {
var names = elements[i].className.split(' ');
for (var j = 0; j < names.length; j++) {
if (names[j] == className) found.push(elements[i]);
}
}
return found;
}