javascript - 在 IE Quirks 模式下按类选择元素

标签 javascript html bookmarklet

我正在尝试为在 IE 中以怪异模式呈现的页面创建一个书签。我无法控制页面的源代码,因此告诉我更改文档类型是行不通的。

无论如何,我试图按其类获取元素,但似乎 getElementsByClassName 和 querySelectorAll 在怪异模式下不起作用。除了步行之外,还有其他方法可以完成此任务吗?

最佳答案

您可以为无法执行 querySelector 的浏览器制作一个实用程序 - 请注意,此示例返回一个数组,而不是节点列表。

function classReunion(classname, tag, parent){
    var A= [], elements, L, who,
    rx= RegExp(/'\\b'+classname+'\\b');
    tag= tag || '*';
    parent= parent || document;
    elements= parent.getElementsByTagName(tag);
    L= elements.length;
    while(L){
        who= elements[--L];
        if(rx.test(who.className)) A.push(who);
    }
    return A;
}

旧的浏览器确实依赖于“遍历”dom 来按类收集元素组。

关于javascript - 在 IE Quirks 模式下按类选择元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15690404/

相关文章:

javascript - JavaFx WebView 等待 Java 方法完成

javascript - Topojson 动画一次飞行

javascript - 启用和禁用复选框上的文本输入已选中和未选中

javascript - 在 javascript 函数中使用 jquery animate

html - 如何在 Y 轴的 3D 中旋转 div 360?

jquery - 为什么不应用样式表(通过 jQuery 添加)?

javascript - 重写 Javascript 的删除运算符?

javascript - Jquery 类名启动选择器在两种不同情况下不起作用

JavaScript - 缓存书签但始终加载最新版本

javascript - 如何修复简单的 javascript 书签