使用什么来代替 Object.keys()?

2023-11-27

我需要在 Jquery 中找到一些可以在 IE8 和真实浏览器中工作的东西。我是 Jquery 的新手,以下是我在现代浏览器中运行的代码:

$('#FIELD_'+office_id).on('change',function(){
    offices = $(this).val();
for(var i=0; i<=Object.keys(southland.address).length;i++){
        if(offices == Object.keys(southland.address)[i]){
            address = southland.address[offices]Object.keys(southland.address[offices])[0]];
        }
    }

其中 Southland.address 来自外部数组。这在 Chrome、IE10 和 FF 中完美运行,我能为 IE8 做什么?


要在旧版浏览器中支持 Object.keys,您可以使用以下代码片段:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys#Compatibility

if (!Object.keys) {
  Object.keys = (function () {
    var hasOwnProperty = Object.prototype.hasOwnProperty,
        hasDontEnumBug = !({toString: null}).propertyIsEnumerable('toString'),
        dontEnums = [
          'toString',
          'toLocaleString',
          'valueOf',
          'hasOwnProperty',
          'isPrototypeOf',
          'propertyIsEnumerable',
          'constructor'
        ],
        dontEnumsLength = dontEnums.length;

    return function (obj) {
      if (typeof obj !== 'object' && typeof obj !== 'function' || obj === null) throw new TypeError('Object.keys called on non-object');

      var result = [];

      for (var prop in obj) {
        if (hasOwnProperty.call(obj, prop)) result.push(prop);
      }

      if (hasDontEnumBug) {
        for (var i=0; i < dontEnumsLength; i++) {
          if (hasOwnProperty.call(obj, dontEnums[i])) result.push(dontEnums[i]);
        }
      }
      return result;
    };
  })();
}

或这个polyfill(也包括其他垫片):

https://github.com/kriskowal/es5-shim/

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

使用什么来代替 Object.keys()? 的相关文章

  • AngularJS 输入字段未从控制器内的 setTimeout 更新

    我正在使用 AngularJS 支持的页面 并且我需要在只读输入文本字段内显示正在运行的时钟 与data ng model 为了模拟运行的时钟 我使用了 JavaScript 调度程序setTimeout每 1000 毫秒调用一个函数 该函
  • 如何检查元素的内容是否为空,如果是,则在 jquery 中删除该元素

    我目前正在尝试选择某个 div 内没有内容的任何 h2 元素并将其删除 这是我的 html 代码 div class skipToContainer h2 class vidSkipTo Hello h2 h2 class vidSkipT
  • `ie9` - contenteditable false 在父级可编辑时不起作用

    我正在尝试制作内容可编辑和不可编辑的容器 用户可以通过 3 种方式使用它 他们可以将内容与non editable 他们可以将内容与editable 他们可以在不选择其中之一的情况下放置内容 可编辑 我正在努力实现以下目标 content
  • jquery:选择xpath或将xpath转换为css?

    我需要基于 xpath 选择 或者将 xpath 转换为 css 有插件或者内置功能吗 ex html body div a 4 each 并非所有 xpath 表达式都可以转换为类似 CSS 的选择器 或者不能有效地工作 您可以使用 eq
  • 通过 JavaScript 检测浏览器换行

    我需要 javascript 来检测每个浏览器包装的文本行并将其包装到 span class line 我读过一些关于测量每个单词的 y 轴的文章 但还没有看到可靠的解决方案 这是我到目前为止所拥有的 看到它Jsfiddle http js
  • 正则表达式以任何顺序匹配查询中的所有单词

    我正在尝试为一个项目构建一个搜索功能 该功能根据用户搜索输入以及它是否与针对项目列出的关键字匹配来缩小项目范围 为此 我将项目关键字保存在data属性并使用 RegExp 模式将查询与这些关键字进行匹配 我目前正在使用这个表达式 我知道它不
  • 如何绑定div宽度/高度来形成字段?

    我想创建多个div我可以移动和调整大小 并绑定它们width height等到数组中的对象 因此 如果我创建六个 div 我的数组中有六个对象 每个对象都有 width height etc 我不太明白如何使用 knockout js 将输
  • 如何使用 php 发送服务器错误响应?

    一旦用户点击删除按钮我的 jQuery 脚本要求服务器删除所选项目 现在我想要我的php发送成功或错误响应的脚本 是否有可能触发错误回调万一该项目无法删除 Thanks 我的 jQuery 代码 ajax type post url myA
  • 在 javascript/jquery 中将光标更改为等待

    当调用函数时 如何让光标更改为此加载图标以及如何将其更改回 javascript jquery 中的普通光标 在你的 jQuery 中使用 body css cursor progress 然后又恢复正常 body css cursor d
  • 如何同步两个文本框表单值?

    大家好 我是 jQuery 新手 假设我有两个 HTML 文本框 如何才能实现这样的情况 如果我在文本框 A 中写入 则相同的值会转到文本框 B 如果我在 B 中写入 则相同的值会转到 A 与删除文本相同 在 jQuery 中如何做到这一点
  • PNG 透明度问题 - 带有黑色阴影的褪色图像 - IE 中的边框

    我使用图像旋转器在主页上显示一些图像 所有图像均为 PNG 格式 问题出在 IE 7 8 中 图像旁边有黑色阴影 我花了几个小时来解决这个问题 但仍然不知道问题出在哪里以及如何删除它 没有人有类似的问题和提示吗 如何解决 尝试使用 img
  • 我想检查 $('#td1').text() === "x" 是否?

    我想检查innerHtml是否有X或O 所以我不能再次添加任何其他东西 但它不起作用 添加检查代码后它就停止了 我在这里尝试做一个简单的XO游戏来更熟悉javascript和jquery 我也不确定是否可以用 jQuery 做到这一点
  • jQuery AJAX 调用 Java 方法

    使用 jQuery AJAX 我们可以调用特定的 JAVA 方法 例如从 Action 类 该 Java 方法返回的数据将用于填充一些 HTML 代码 请告诉我是否可以使用 jQuery 轻松完成此操作 就像在 DWR 中一样 此外 对于
  • jquery从变量中删除html元素

    我将 html 保存在变量中 var itinerary events today html 我有很多 html 和一个按钮我想删除 它的 ID 为 myButton 如何从变量中保存的 html 中删除它 我建议这种方法 var itin
  • 如何使用 JQuery 动态排序

    如果我有一个下拉列表和一个列表框 有没有办法使用 JQuery 根据下拉列表对列表框进行排序 举个例子会很有帮助 这会改变下拉菜单中的顺序 您必须根据自己的标准设置顺序
  • Jquery 验证不能正确验证数字?

    我在使用 jquery 非侵入式验证验证数字时遇到问题 我使用的版本是 ASP NET MVC 3 jQuery 1 9 1 jQuery 用户界面 1 10 1 JQuery 验证 1 11 0 我试图验证的输入是
  • 如何更改此 jquery 插件的时区/时间戳?

    我正在使用这个名为 timeago 的插件 在这里找到 timeago yarp com 它工作得很好 只是它在似乎不同的时区运行 我住在美国东部 费城时区 当我将准确的 EST 时间放入 timeago 插件时 比如 2011 05 28
  • 为什么 jquery 没有检测到单选按钮未被选中的情况? [复制]

    这个问题在这里已经有答案了 可能的重复 JQuery radioButton change 在取消选择期间不会触发 https stackoverflow com questions 5176803 jquery radiobutton c
  • 长轮询会冻结浏览器并阻止其他 ajax 请求

    我正在尝试在我的中实现长轮询Spring MVC Web 应用程序 http static springsource org spring docs 2 0 x reference mvc html但在 4 5 个连续 AJAX 请求后它会
  • 在 ASP.NET Core MVC 中访问从视图到控制器的隐藏值

    我需要帮助使用 jQuery 从 ASP NET Core razor 视图页面传递隐藏控件值 jQuery 用于获取动态控件选定的值 section scripts

随机推荐

  • PHP:在mysql中的时间戳值内分割日期和时间

    我在数据库表中有一个名为 时间戳 的字段 它以以下格式存储值 YYYY MM DD HH MM SS 我想分开 然后获取变量中的日期 YYYY MM DD 以及另一个变量中的时间 HH MM SS 例子 timestamp 2012 10
  • 跨内存管理器边界传递 Delphi const 字符串参数是否安全?

    主题 我想使用字符串而不是 PChar 因为这样可以省去很多转换 但如果我这样做 procedure SomeExternalProc s string external SOMEDLL DLL 然后使用非共享内存管理器在其他一些项目中实现
  • 如何在 Github actions 中设置 Dockerfile ARG

    我有一个适用于我的 Node js 服务之一的 Dockerfile 我尝试使用 Github 操作将其推送到我的 Digitalocean 注册表 我的 Node js 服务需要一个由我自己在 npm js 注册表上托管的私有包 在我的
  • 在 javascript 或 bootstrap 中创建可点击的工具提示

    制作如下图所示的可点击工具提示的最佳方法是什么 我应该使用 bootstrap 还是其他库 Thanks 干得好 Pops popover html true content function return popover content
  • Qt如何捕获指示所有gui元素已准备就绪的事件

    我想知道是否有可能捕获所有时生成的事件 Qt 对象已初始化并准备就绪 看来有些事情不能在window的构造函数中完成 它们在插槽实现中工作得很好 例如 当我想访问应用程序的根窗口时 我会这样做 in h MainWindow rootWin
  • Jquery:ajax post 和编码

    我无法理解为什么我无法从服务器答案中获得正确的 ISO 8859 1 字符集 由于这是一项针对遗留代码的工作 我几乎无法更改页面上的字符集编码 我使用 JQuery 调用 post server side code t ctext i io
  • 通过 Spark 写入 HBase:任务不可序列化

    我正在尝试使用 Spark 1 0 在 HBase 0 96 0 hadoop2 中写入一些简单的数据 但我不断遇到序列化问题 这是相关代码 import org apache hadoop hbase client import org
  • HTML - 属性与属性[重复]

    这个问题在这里已经有答案了 Is idHTML 的属性或属性 我应该做什么 selector attr id or selector prop id 我读了很多文章 但仍然很困惑 有人可以用非常简单的语言向我解释 HTML JS 中的属性和
  • 在哪里可以找到面部检测软件、算法等? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我对编写依赖于能够识别图片 或视频帧 中是否有面孔的软件感兴趣 它不需要识别人脸 因此除了以下指标之外没有其他指标 图片中是否有人脸 或不止一张 眼
  • Liquibase 命令行在 sql 中创建 diff 更改日志

    我实际上在 Windows 上的命令行中使用 Liquibase 并且尝试创建一个表示两个数据库之间差异的 sql 脚本 不幸的是我只得到 xml 文件作为回报 你能帮助我吗 我的命令行 liquidbase bat driver com
  • 在 Swift 中添加时间偏移

    我的数据库中有很多不同的显示时间 并且希望通过创建偏移量来根据用户时区显示正确的时间 我正在获取用户与 GMT 的时区偏移量 然后首先将其转换为小时 NSTimeZone localTimeZone secondsFromGMT 60 60
  • 多核CPU上32位读取的原子性

    注意 我根据我认为可能提供帮助的人在哪里添加了标签到这个问题 所以请不要喊 在我的 VS 2017 64 位项目中 我有一个 32 位长值m lClosed 当我想更新它时 我使用其中之一Interlocked函数族 考虑这段代码 在线程
  • 在配置文件脚本中使用十六进制值设置 Powershell 颜色

    我知道我可以通过在我的个人资料中设置以下内容来更改 PowerShell 控制台颜色 Host UI RawUI BackgroundColor White Clear Host 但是 在 Powershell 控制台中 您可以转到 属性
  • ImageMagick 安全策略“PDF”阻止转换

    Imagemagick 安全策略似乎不允许我执行从 pdf 到 png 的转换 转换其他扩展名似乎可以工作 只是不能从 pdf 转换 自从安装以来 我没有更改任何 imagemagick 设置 如果操作系统很重要的话 我正在使用 Arch
  • 从 Eclipse 调试在 ScriptEngine 中运行的 Groovy 脚本

    我有一个 Groovy 脚本 其运行方式如下 File scriptFile ScriptEngine engine String script FileUtils readFileToString scriptFile Object ev
  • 以编程方式添加单词进行单词预测的问题

    我在用用户字典 Words班级的addWord功能将单词添加到词典中 以便它们可以显示在文本预测中 这些词确实存在于字典中APP ID 0并可用于默认的 Android 键盘 然而 我使用的是 Swift 键盘 它没有考虑这些词的预测 我正
  • Angular4 中的自定义字体导入

    我使用 Angular4 但在使用自定义字体时遇到问题 我尝试使用 font face 但它给了我无法找到字体文件的错误 我需要做什么才能包含此文件以便在我的组件中使用它 font face font family lcd plain sr
  • 如何“docker exec”从头构建的容器?

    我在尝试着docker exec从头开始构建的容器 例如 NATS 容器 看起来很简单 但由于它是从头开始构建的 我无法访问 bin bash bin sh以及任何此类命令 我收到错误 oci runtime error 找不到命令 找不到
  • Windows 8 Metro 应用程序文件共享访问

    我正在开发一个 Windows 8 Metro 应用程序 我们打算将其部署到我们公司内的几台平板电脑上 它不适用于 Windows 应用商店 我们需要该应用程序访问公司网络共享上的某些目录 但强制用户使用FilePicker这不是我们想要的
  • 使用什么来代替 Object.keys()?

    我需要在 Jquery 中找到一些可以在 IE8 和真实浏览器中工作的东西 我是 Jquery 的新手 以下是我在现代浏览器中运行的代码 FIELD office id on change function offices this val