javascript - 如何在 IE 7 和 6 中通过类名获取元素

标签 javascript jquery

我试图通过类名获取元素,在 IE 9+ 中我可以使用 document.getElementsByClassName,而在 IE 8 document.querySelectorAll 中可以使用。

上述 2 个功能在 IE 7 中不可用,我正在尝试使用此处提供的 kapa 答案中的想法 getElementsByClassName() doesn't work in old Internet Explorers like IE6, IE7, IE8

下面是我正在尝试的代码`

function getElementsByClassNameBackwardCompatability(className) {
    if (document.getElementsByClassName) {
        return document.getElementsByClassName(className);//EI 9+
    } else if (document.querySelectorAll(className)) {
        return document.querySelectorAll(className);//EI 8
    } else { // IE7 - (not working)
        var d = document, element, pattern;
        pattern = ".//*[contains(concat(' ',@@class, ' '), ' " + className + " ')]";
        element = d.evaluate(pattern, d, null, 0, null);
        return  element;
    }
}`

它在 IE 7 中抛出错误“JavaScript 运行时错误:由于错误 80020101,无法完成操作。

下面是我如何使用该功能

     var ddlone = getElementsByClassNameBackwardCompatability(".myClass");
        $(ddlone).dropdownchecklist("destroy");
        $(ddlone).dropdownchecklist({ icon: {}, closeRadioOnClick: true, maxDropHeight: 150});

  $(getElementsByClassNameBackwardCompatability(".myDateClass")).each(function () {
            $(this).datepicker({
                dateFormat: 'dd/mm/yy',
                showButtonPanel: true,
                changeMonth: true,
                changeYear: true,
                defaultDate: new Date(),
            });});

有谁知道如何在 IE 7 中使其正常工作吗?

最佳答案

该函数确实采用类名,而不是类选择器 - 不带点。尝试将其称为

getElementsByClassNameBackwardCompatability(".myDateClass")

你真的应该使用original code from that answer ,您的在几个关键方面有所不同,导致它无法工作。

关于javascript - 如何在 IE 7 和 6 中通过类名获取元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35765644/

相关文章:

javascript - 第一次滑动后禁用滑动,完成后重置?

javascript - 非 jQuery 灯箱

javascript - jquery .on(点击)不工作

javascript - 将字符串转换为 JavaScript 单词

javascript - 多个选择器似乎不起作用

javascript - 关于JS代码执行的问题

jquery ui 可排序 : can't type in input fields with cancel method

jQuery 点击事件在 Chrome 中不起作用

javascript - 移动元素的最佳方式(性能方面)

javascript - 为什么我无法在 Bootstrap 工具提示中显示图像?