javascript - getElementsByClassName Iexplorer 兼容性

标签 javascript

<分区>

下午好,

首先让我说,我看到很多关于这个主题的帖子,并且包括/尝试了很多帖子来解决我遇到的问题。

现在的问题是,我正在尝试找出与可用的几种浏览器的兼容模式。 我在 Iexplorer 上苦苦挣扎,几乎每个版本..

我在几种脚本上尝试的一切都在该浏览器中不起作用,但在所有其他浏览器中都起作用。

我遇到的主要问题是 getElemtsByClassName。 例如:

var tag = window.document.getElementsByClassName("kat");

它总是这样返回: 对象不支持属性或方法“getElementsByClassName”。

我在网上和这里看到过很多这个问题,有没有人知道绕过这个问题的一些信息? 尝试了一些东西喜欢把它改成:

var tag = window.getElementsByClassName("kat");

var tag = getElementsByClassName("kat");

但是,我猜我想错了方向.. 有人可以给我提示或链接以阅读有关如何解决此类问题的信息吗?

这是我通常使用的 header ,我阅读它应该可以解决很多问题:

<!doctype html>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />

作为我的一个例子:

function insDiv() {
    var tag = window.document.getElementsByClassName("kat"), total = 0;
        for (var i in tag)
    {
    total += tag[i].checked && !isNaN(Number(tag[i].value)) ? Number(tag[i].value) : 0;
    }
    window.document.getElementById("insDiv").innerHTML = 'Kat: ' + total.toFixed(2);
}

Wich 在 chrome/firefox/等中完美运行。只是不在 Iexplorer 中。

最佳答案

我会忘记 .getElementsByClassName() 并坚持使用 .querySelectorAll(),它的工作方式与 jQuery 选择器非常相似。使用 CSS2 选择器在 IE8 中完美运行:

var elements = document.querySelectorAll('.myClass');

您也可以从中创建自己的可重用选择器:

var $$ = function (selector) {
    return document.querySelectorAll(selector);
};

// usage
$$('#id');
$$('.className');
$$('[attributes]');

关于javascript - getElementsByClassName Iexplorer 兼容性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21187662/

相关文章:

javascript - React .map 不是函数

javascript - Angularjs插件 'ngclipboard'

javascript - 将外部 jsx 文件添加到 html 页面( react )

javascript - 验证表单和字段验证的两个事件

javascript - jQuery 检测视频退出全屏然后执行某些操作

javascript - 试图删除 Soltar 在 JavaScript 中生成的图像

javascript - 即使正确,使用 ajax 验证的 reCAPTCHA 也总是返回错误

drag-and-drop - 在 Raphael js 中使路径和图像可拖动

javascript - 更新 DOM 与在 Angular 中重新渲染 View

javascript - 溶解标题的背景图像