【问题标题】:issue with running js on Internet Explorer [duplicate]在 Internet Explorer 上运行 js 的问题 [重复]
【发布时间】:2016-11-29 20:53:27
【问题描述】:

我有这段代码,即有问题。

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 上创造了奇迹 - 直到我的幸福一如既往地在 ie 上崩溃了......

如果有人能帮助阐明这一点,将不胜感激。

顺便说一下,我的 Doctype 声明为

<!DOCTYPE html>
<html>

如果这与它有任何关系。

提前感谢您的帮助

我正在开发的网站是http://www.mylaundrywala.com ...正如我所提到的,在 Chrome 和 Firefox 上运行良好。

【问题讨论】:

  • 你的IE是什么版本? getElementsByClassName 仅适用于 IE9 及更高版本。
  • 哦...所以如果你能告诉我一个替代方案就太好了。
  • @user3526204 查看其他链接问题。他们在替代选项的答案中也确实提到了querySelectorquerySelectorAll。看到您使用 IE8,querySelector / querySelectorAll 应该是一个选项,因为它适用于 IE8 及更高版本。
  • 非常感谢...我猜得重做旋转木马了。不管怎样,我对 Js 不是很熟悉。祝我好运,伙计们。非常感谢大家!

标签: javascript internet-explorer


【解决方案1】:

这取决于您测试代码的 Internet Explorer。如您所见,IE9 及更高版本支持该方法。 Document.getElementsByClassName() on MDN

这里也有人提出了解决方法:getElementsByClassName() doesn't work in old Internet Explorers like IE6, IE7, IE8

【讨论】:

    【解决方案2】:

    旧版 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; }

    【讨论】:

    • 非常感谢鲁佩什。还有一件事。我怎样才能从中得到变量 x 。对不起,我听起来很业余。但我就是你……
    • 嘿,我也明白了。现在我的滑块在 ie 8 上运行良好!非常感谢@Rupesh Dhadiwal 的解决方案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-15
    • 1970-01-01
    • 1970-01-01
    • 2018-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多