getElementsByClassName()在旧的Internet Explorer(如IE6,IE7,IE8)中不起作用
如下代码:
var borderTds = document.getElementsByClassName('leftborder');
在Internet Explorer 6、7和8中给我一条错误消息:
对象不支持此方法
如何在这些浏览器中按元素类别选择元素?
我宁愿不使用JQuery。
-
此解决方案可能会有所帮助。这是使用
getElementsByClassName
纯javascript实现的自定义函数,可在IE中使用。本质上,此脚本正在执行的工作是一个接一个地探测所有可能的选项,并选择可用的最佳选项。这些选项是:
- 本机
document.getElementsByClassName
功能。 document.evaluate
函数,该函数允许评估XPath查询。- 遍历DOM树。
当然,第一个是性能最佳的,但是后者应该随处可用,包括IE 6。
页面上也提供了用法示例,如下所示:
getElementsByClassName("col", "div", document.getElementById("container"));
因此该函数允许使用3个参数:类(必需),标签名称(可选,如果未指定,则搜索所有标签),根元素(可选,如果未指定,则为文档)。
- 本机
-
Javascript textContent在IE8或IE7中不起作用
2021-02-02 关注 0 浏览66 1答案
-
IE6(IE7)上的JSON
2021-01-31 关注 0 浏览82 1答案
-
addEventListener在IE8中不起作用
2021-02-02 关注 0 浏览216 1答案
-
AngularJS路由在IE7中不起作用
2021-02-01 关注 0 浏览82 1答案
-
IE7和IE8中的框阴影
2021-02-02 关注 0 浏览71 1答案
-
IE7 CSS继承不起作用
2021-02-02 关注 0 浏览69 1答案
-
伪类:hover在IE7中不起作用
2021-02-02 关注 0 浏览85 1答案
-
jQuery / Ajax调用-在IE7上不起作用
2021-01-31 关注 0 浏览107 1答案
-
CSS @ font-face在IE8中不起作用
2021-02-02 关注 0 浏览75 1答案
-
IE8显示内联块不起作用
2021-02-02 关注 0 浏览94 1答案