如何使 document.querySelector 在 IE6 中工作

2023-12-10

我在一个网站上工作,我得到了一个在 Internet Explorer 6 中不起作用的 JavaScript 函数。 我知道

document.querySelector(selector)

只工作在 Internet Explorer 8+ 中

我该怎么做才能使其在 IE6 中运行?

(我并不是为了好玩而试图让它发挥作用;))


我强烈建议您不要再尝试支持 IE6。


但你可以添加document.querySelector and document.querySelectorAll using 这是阿贾克斯文章中的一个非常聪明的技巧。这篇文章实际上有点错误,它添加了一个叫做querySelector确实如此querySelectorAll反而。我在这里修正了这个名字:

/*@cc_on
if (!document.querySelectorAll)
    document.querySelectorAll = function(selector)
    {
        var head = document.documentElement.firstChild;
        var styleTag = document.createElement("STYLE");
        head.appendChild(styleTag);
        document.__qsResult = [];

        styleTag.styleSheet.cssText = selector + "{x:expression(document.__qsResult.push(this))}";
        window.scrollBy(0, 0);
        head.removeChild(styleTag);

        var result = [];
        for (var i in document.__qsResult)
            result.push(document.__qsResult[i]);
        return result;
    }
@*/

虽然我会never面容使用for-in像那样;其他答案中的详细信息和替代方案.

并由此推断,querySelector:

/*@cc_on
if (!document.querySelector)
    document.querySelector = function(selector)
    {
        var head = document.documentElement.firstChild;
        var styleTag = document.createElement("STYLE");
        head.appendChild(styleTag);
        document.__qsResult = [];

        styleTag.styleSheet.cssText = selector + "{x:expression(document.__qsResult.push(this))}";
        window.scrollBy(0, 0);
        head.removeChild(styleTag);

        // Return first result only               
        return document.__qsResult[0] || null;
    }
@*/

请注意,以上都没有添加Element#querySelector or Element#querySelectorAll(仅在元素内查看的版本),只是document.querySelector and document.querySelectorAll。而且你不能添加ElementIE6 上的版本而不将它们添加到每个单独的元素,因为 IE6 不支持元素原型。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使 document.querySelector 在 IE6 中工作 的相关文章

  • 单击输入[复选框]的标签将触发父级单击事件两次(淘汰)

    考虑这把小提琴 http jsfiddle net 9rkrahm6 我有一个
  • dojo dijit.form.DateTextBox 约束不起作用,datetextbox

    嗨 我是 javascript 和 dojo 的新手 我正在尝试使用两个带有下拉日历的 dijit DateTextBox 来建立数据库查询的日期范围 一旦选择了开始日期或结束日期 我想限制可用的日期 以便不可能选择按时间顺序排列在开始日期
  • JavaScript onTouch 不工作

    谁能告诉我为什么这个 onTouch 处理程序没有触发 var myDiv document getElementById existingContent var myButton a href log out a myDiv append
  • 如何在同一页面上使用AJAX处理多个表单

    我有一个表单 当我单击 提交 时 它就被提交了 然后该表单隐藏 操作页面的结果显示在 div 中 classname dig 它工作正常 但是当我添加另一个表单时 它停止正常工作并且所有表单同时提交 我如何更改我的代码 done click
  • 关闭选项卡时要求确认[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 当我在某些浏览器上关闭页面时 我希望出现一个消息框 并询问我是否真的要关闭页面 有两个按钮 如果我单击No那么这个标签就不会被关闭 我怎样
  • 从数据 URI 解码 QR 码

    我尝试从数据 uri 中解码二维码 var dataUri data image gif base64 R0lGODdh9gD2AIAAAAAAAP ywAAAAA9gD2AAAC decodeQrCode dataUri cb 我已经尝试
  • 不和谐机器人 |不和谐.js |类型错误:无法读取未定义的属性“长度”

    我正在制作一个 Discord 机器人 并且正在使用 CodeLyon 的视频作为参考 该错误位于我的 message js 文件中 该文件包含以下内容 require dotenv config create cooldowns map
  • 使用模数按字母顺序对列表进行排序

    我在获取元素列表并按字母顺序对它们进行排序方面没有任何问题 但我很难理解如何使用模数来做到这一点 更新 这是按我的方式工作的代码 但是 我更喜欢下面提供的答案的可重用性 因此接受了该答案
  • 使用 jQuery/JS 打开时使
    标签的内容具有动画效果

    我只想要 HTML5 的内容details标记为 滑行 动画打开 而不是仅仅弹出打开 立即出现 这可以用 jQuery Javascript 实现吗 Fiddle http jsfiddle net 9h4Hq HTML
  • 使用 Angular 下载具有动态 src 的脚本

    Angular 提供了通过动态名称动态加载模板的方法ng include 该部分中的内联 JS 和 CSS 可以正常加载 但没有一个好的方法来下载带有动态 url 的脚本 我们需要下载脚本 相对于调用它们的 html 部分的路径 即我们有一
  • 如何抑制窗口鼠标滚轮滚动...?

    我正在开发嵌入页面中的画布应用程序 我有它 因此您可以使用鼠标滚轮放大绘图 但不幸的是 这会滚动页面 因为它是文章的一部分 当我在 dom 元素上滚动鼠标滚轮时 是否可以阻止鼠标滚轮在窗口上滚动 附加鼠标滚轮 不是 Gecko DOMMou
  • 可以使用 jQuery 或 Javascript 将图片的特定部分用作链接吗?

    我有这个想法 将图片 而不是文本 的各个部分链接到不同的页面或网站 并且我想在不实际创建不同的照片并将它们彼此靠近的情况下完成 这样看起来就像是一张完整的图片 这里有人知道如何使用 JavaScript 的变体 例如 jQuery 或纯 J
  • 为什么是 javascript:history.go(-1);无法在移动设备上工作?

    首先 一些背景 我有一个向用户呈现搜索页面 html 表单 的应用程序 填写标准并单击 搜索 按钮后 结果将显示在标准部分下方 在结果列表中 您可以通过单击将您带到新页面的链接来查看单个结果的详细信息 在详细信息页面中 我添加了一个 返回结
  • 标签获取 href 值

    我有以下 html div class threeimages a img alt Australia src Images Services 20button tcm7 9688 gif a div class text h2 a hre
  • JavaScript 重定向到新窗口

    我有以下代码 它根据下拉列表的值重定向到页面 我如何使其在新窗口中打开 function goto form var index form select selectedIndex if form select options index
  • 跟踪用户何时点击浏览器上的后退按钮

    是否可以检测用户何时单击浏览器的后退按钮 我有一个 Ajax 应用程序 如果我可以检测到用户何时单击后退按钮 我可以显示适当的数据 任何使用 PHP JavaScript 的解决方案都是优选的 任何语言的解决方案都可以 只需要我可以翻译成
  • 通过 CDN 使用 Dojo 时如何加载自定义 AMD 模块?

    我正在使用 google 的 CDN 并尝试使用他们的加载程序加载我自己的 AMD 模块 我知道我做错了什么 但我被困住了 有任何想法吗
  • 如何在react-native中获取Text组件的onPress值

    我是一名新的 React Native 开发人员 我想使用 onPress 获取 Text 组件的值并将其传递给函数
  • Laravel 中只向登录用户显示按钮

    如果我以 John 身份登录 如何才能只显示 John 的红色按钮而不显示 Susan 的红色按钮 测试系统环境 Win10 Laravel5 4 Mysql5 7 19 table class table table responsive
  • 导致回发到与弹出窗口不同的页面

    我有一个主页和一个详细信息页面 详细信息页面是从主页调用的 JavaScript 弹出窗口 当单击详细信息页面上的 保存 按钮时 我希望主页 刷新 是否有一种方法可以调用主页的回发 同时还可以从详细信息页面维护保存回发 Edit 使用win

随机推荐

  • Android 中的 SQL 查询 - 搜索整个或部分字符串

    我对 SQL 查询没有太多经验 所以在找到问题的解决方案时遇到了一些麻烦 我有一个书签列表 例如 Facebook 开发者控制台 Stack Overflow 我还有他们的 URL 列表 http m facebook com https
  • 如何通过javascript获取值translateX

    使用 JavaScript 初始化内容元素 content children 0 style transform translateX 200 px scaleX 1 6 scaleY 1 2 如何获取该元素的translateX 值 您可
  • Python 中的 NZEC 错误

    这是一段简单的代码 假设读取 n 个数字并打印这 n 个数字中有多少个数字可以被 k 整除 n int raw input k int raw input ans 0 while n gt 0 t int raw input if t k
  • Codeigniter连接查询多个条件不起作用

    我想使用连接查询从数据库表中选择数据 但它不起作用 我的查询 this gt db gt select this gt db gt from we this gt db gt join schedule schedule itemid we
  • 如何在Python中从一组线性方程中绘制平面?

    我有一个包含三个方程的线性系统 x1 2x2 x3 0 2x2 8x3 8 4x1 5x2 9x3 9 解集是 29 16 3 它是这些平面相交处的点 希望有人可以使用 Matplotlib 在 3D 空间中绘制这些平面 以便清楚地可视化问
  • 屏蔽文本框验证文本错误

    我在处理从 WinForms 应用程序上的屏蔽文本框提取的日期变量时遇到一些问题 尝试读取用户输入日期的代码如下 DateTime datExpDate new DateTime datExpDate DateTime txtExpDate
  • System.IO.DirectoryInfo.Exists 有其他选择吗

    The System IO DirectoryInfo Exists如果我给出这样的 UNC 总是返回 false 192 168 0 33 Others F 仅当我从已安装的应用程序运行时才会发生这种情况 否则如果路径为真 它将返回 tr
  • 应用程序文档目录的物理路径

    应用程序文档目录的物理路径是什么 在 Mac OS X Lion 上 我知道该文件夹中的每个应用程序都有 UUID 但直到现在才在我的系统上找到它 Open 用户 用户名 库 应用程序支持 iPhone 模拟器 4 3 2 应用程序 假设使
  • 多分区作业的批处理脚本?

    我正在开发一个项目 该项目在大型计算集群的两个不同分区上运行程序 我想使用批处理脚本来运行它 但搜索后 仍然不清楚是否 如何从单个批处理脚本中在两个不同的分区上分配和运行程序 这就是我想做的事情 bin bash SBATCH partit
  • ajax 在 Flask 视图中发布数据

    这是我的视图功能 app route share methods GET POST def share form ShareForm request form if request method POST title form title
  • 如何计算包含特定值的 XML 节点的数量

    我正在寻找如何计算 XML 文件中包含 否 值的节点以及元素总数 我的元素计数工作正常 但我不确定在 XML 内部查找要计数的值的逻辑 为了获得我正在使用的总数 XmlDocument readDoc new XmlDocument rea
  • 如何在 beforeload 事件中获取 Extjs 4 商店的请求数据?

    我正在尝试在商店加载事件之前获取请求数据参数 我可以看到操作对象包含请求数据 但我似乎无法从操作对象获取它 Ext create Ext data Store autoLoad true fields name item code type
  • 如何使用 luasql 创建 Sqlite3 数据库?

    我正在尝试使用 luasql 创建 Sqlite3 数据库 之后我requireluasql sqlite3 如何在文件上创建数据库 另外 我似乎找不到 luasql 的手册 任何地方都可以使用吗 如果数据库不存在 SQLite 将自动创建
  • 在 Windows 批处理中转义特殊字符

    我有一个批处理文件 它接收路径作为第一个参数 该路径始终由特殊字符组成 例如 or 调用类似于这样 D Script gt MyBatch My path test 00170 LASTNAME Firstname image 总是出现这个
  • 我当前在 Eclipse MacOS Big Sur 上进行 GDB 调试时遇到错误

    在 Big Sur 上通过 Homebrew 安装 GDB 后 我目前遇到了一个奇怪的错误 我已经正确配置了 Eclipse 的所有内容 我的 GDB 链接为调试器 但是 每次我尝试启动调试时 都没有任何反应 并且控制台中出现以下内容 00
  • e.keyCode 不起作用

    我想问你一些对我不起作用的事情 如果你能帮助我的话 Html
  • 在 Inno Setup Run 部分命令中扩展 .NET 路径常量时的错误处理/忽略

    我有一个 NET DLL 可以通过以下方式注册RegAsm NET 3 5 和 NET 4 5 我在我的设置脚本中使用以下代码 Run Filename dotnet40 RegAsm exe Parameters my dll Worki
  • pyspark 与 scala 中的 FPgrowth 计算关联

    Using http spark apache org docs 1 6 1 mllib frequent pattern mining html Python代码 from pyspark mllib fpm import FPGrowt
  • 如何在php中逐行读取

    当我尝试将每一行插入 Oracle 数据库时 我收到一条错误 指出数字无效 但如果文件中只有一行 则可以正常工作 file fopen file text r while there is another line to read in t
  • 如何使 document.querySelector 在 IE6 中工作

    我在一个网站上工作 我得到了一个在 Internet Explorer 6 中不起作用的 JavaScript 函数 我知道 document querySelector selector 只工作在 Internet Explorer 8