保存具有 id 的元素的变量存储在哪里?

2024-01-15

这个问题 (可通过 ID 访问元素 https://stackoverflow.com/q/12663981/1026459)指出如果一个元素有一个 id,那么您可以根据该 id 通过变量名来访问它。这引起了我的兴趣,因为我在使用 Visual Studio 2010 进行开发时看到了这个可用的变量。出于好奇,我做了一些测试,结果发现:document.getElementById()仍然比使用变量名更快。于是,我开始尝试透过窗户往外看,猜想它一定在里面。window["idName"],在调试中,并且与console.log(window)并且无法找到变量实际存储的位置。

当一个元素在 html 中定义为<div id="foo">它可以在 javascript 中通过变量使用foo(我不建议使用这个,这是不好的做法)。该变量存储在哪里?


这是不标准的行为。它存储在哪里(以及是否存储)取决于实现。


Using Firefox 15在 Linux 上,我必须深入 2 个原型对象才能找到实际对象。我在 StackOverflow 页面上运行了这段代码,并得到了true result.

Object.getPrototypeOf(Object.getPrototypeOf(window)).hasOwnProperty("hlogo");

在 Linux 上的 Chrome 中,它是一层深。

Object.getPrototypeOf(window).hasOwnProperty("hlogo");

事实上,我很惊讶在 Firefox 中看到它,但既然 Chrome 遵循了微软的模式,我想 Firefox 一定也觉得有必要效仿。


如果您不知道原型链有多深,您可以运行一个循环,并将不同的对象添加到数组中,或者仅使用循环中的对象。

var protos = [],
    obj = window;

while (Object.getPrototypeOf(obj) !== null) {
    obj = Object.getPrototypeOf(obj);
    protos.push(obj);
}

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

保存具有 id 的元素的变量存储在哪里? 的相关文章

  • 在 Wordpress 站点中进行 AJAX 调用时出现问题

    我在使用 Wordpress 站点功能的 AJAX 部分时遇到了一些问题 该功能接受在表单上输入的邮政编码 使用 PHP 函数来查找邮政编码是否引用特定位置并返回到该位置的永久链接 我的第一个问题是关于我构建的表单 现在我的表单操作是空白的
  • Javascript正则表达式用于字母字符和空格? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我需要一个
  • Node.js:如何在检索数据(块)时关闭响应/请求

    我正在用 node js 构建一个应用程序 它加载多个页面并分析内容 因为 node js 发送块 所以我可以分析这些块 如果一个块包含例如索引 nofollow 我想关闭该连接并继续其余部分 var host example com to
  • Jquery/Javascript 上传和下载文件,无需后端

    是否可以在没有后端服务器的情况下在 JavaScript 函数中下载和上传文件 我需要导出和导入由 JavaScript 函数生成的 XML 我想创建按钮 保存 xml 来保存文件 但我不知道是否可行 另一方面 我希望将 XML 文件直接上
  • jquery从变量中删除html元素

    我将 html 保存在变量中 var itinerary events today html 我有很多 html 和一个按钮我想删除 它的 ID 为 myButton 如何从变量中保存的 html 中删除它 我建议这种方法 var itin
  • HTML 中部分着色的阿拉伯语单词

    我不会说阿拉伯语 但我需要我们网站上对阿拉伯语的具体支持 我需要将部分阿拉伯语单词放在 span 与单词其他部分的风格不同 当我输入两个字符时 and 它们被组合成word 但是当我使用 HTML 标记时 span span 这些字母在输出
  • Electron - 为什么在关闭事件时将 BrowserWindow 实例设置为 null

    The 电子文档 https electronjs org docs api browser window 提供以下代码示例来创建新窗口 const BrowserWindow require electron let win new Br
  • Javascript 数组到 VBScript

    我有一个使用 Javascript 构建的对象数组 我需要使用 VBScript 读取它 如下例所示 我找不到在 VbScript 代码中循环遍历数组的方法myArray object 这个例子是我的问题的简化 我无法更改页面的默认语言 这
  • 如何阻止破折号自行包裹?

    我有一个标题 标题最后一个单词的末尾是一个破折号 单词和破折号之间没有空格 当浏览器窗口变小时 破折号会中断并换成新行 在自己的行上有一个破折号是不好的排版 如何停止破折号之前的换行 以便最后一个单词运行到新行 这是代码 h1 XYZ co
  • 我可以使用 jQuery 打开下拉列表吗

    对于 HTML 中的下拉列表
  • 如何获取给定 DOM 元素的所有定义的 CSS 选择器?

    如何使用 jQuery 获取给定 DOM 元素的所有定义的 CSS 选择器 定义后 我的意思是在应用于任何样式表的所有 CSS 选择器document 在某种程度上 这类似于 FireBug 实现的功能 其中显示所选 DOM 元素的所有应用
  • Javascript 纪元时间(以天为单位)

    我需要以天为单位的纪元时间 迄今为止 我已经看到过有关如何翻译它的帖子 但几天后就没有了 我对纪元时间很不好 我怎么能得到这个 我需要以天为单位的纪元时间 我将解释为您想要自纪元以来的天数 纪元本身是第 0 天 或第 1 天的开始 无论您如
  • 如何更改此 jquery 插件的时区/时间戳?

    我正在使用这个名为 timeago 的插件 在这里找到 timeago yarp com 它工作得很好 只是它在似乎不同的时区运行 我住在美国东部 费城时区 当我将准确的 EST 时间放入 timeago 插件时 比如 2011 05 28
  • 将 MQTTNet 服务器与 MQTT.js 客户端结合使用

    我已经启动了一个 MQTT 服务器 就像this https github com chkr1011 MQTTnet tree master例子 该代码托管在 ASP Net Core 2 0 应用程序中 但我尝试过控制台应用程序 但没有成
  • 如何在 pg-promise 中设置模式

    我正在搜索的文档pg 承诺 https github com vitaly t pg promise特别是在创建客户端时 但我无法找到设置连接中使用的默认架构的选项 它始终使用public架构 我该如何设置 通常 为数据库或角色设置默认架构
  • Schema.org 的常见问题解答页面

    我有一个常见问题解答页面 我想用更好的 html 架构来实现它
  • 无效字符错误:“fred”

    我确信他一定是一个新手问题 简单来说 我想定义我的第一个 Polymer dart 组件 只是我一直在同一个减速带上踢脚趾 为了使事情变得非常简单 我将其简化为一个非常简单的示例 我做了一个简单的rename示例 跑表 来自 Dart 组件
  • fullCalendar 未显示正确的结束日期

    我正在看调试页面 http jsbin com wukofacaxu edit js outputFullCalendar 官方网站的 我想安排一个活动时间为 22 09 2015 至 30 09 2015 dd mm yyyy 但它只显示
  • 如何从图像输入中获取 xy 坐标?

    我有一个输入设置为图像类型
  • CSS 是否有不等于选择器?

    CSS中有类似 不等于 的东西吗 例如 我有以下代码 input 但对于某些输入 我需要将其作废 我想通过将类 reset 添加到输入标签来做到这一点 例如

随机推荐

  • 我的 GCP 项目正在自动创建存储桶

    我在 Google App Engine 上部署了一个 node js API 它使用云存储来存储文件 我创建了一个存储桶 其标题为
  • XML 代码注释中对泛型类型的引用 [重复]

    这个问题在这里已经有答案了 据我所知 在 C 类型 方法的 XML 注释中 可以在标签中引用泛型类型 如下所示
  • KendoUI 网格/数据源中的自定义排序

    我将 dataSource 中的数据分组为 var dataSource new kendo data DataSource transport read url and some other parameters specified gr
  • Objective-C 库 - 无法形成对类实例的弱引用

    我目前正在使用 Objective C 的 XMPP 库 并且正在使用 桌面 示例代码 它登录正常 但是 当我打开新聊天或有人向我发送消息时 它会崩溃 这似乎是出了问题的地方 XMPPStream 11678 1b03 RECV 2012
  • npm 安装失败 EPROTO 获取请求失败

    当我尝试从 npm 安装软件包时 出现获取失败错误 我设置了 npm 的配置 将 strict ssl 设置为 false 设置注册表https registry npmjs org https registry npmjs org 设置代
  • 捆绑安装在 capistrano 中不起作用

    我想部署我的简单rails 4 0申请通过capistrano 3 0 I use bundler 1 3 5所以我添加Capistrano 捆绑器 https github com capistrano bundlergem 将捆绑器与
  • Java中的特殊字符

    java中如何使用特殊字符 它们属于 Cp1252 字符编码 我尝试在消息中使用它们 但无法使用它们 类似字符 de 使用关联的 UTF 值 例如在http www fileformat info info unicode char sea
  • Python 转换为数组时出现内存错误

    我的代码如下所示 from sklearn datasets import load svmlight files import numpy as np perm1 np random permutation 25000 perm2 np
  • EF5 Code First - 通过迁移更改列类型

    我是 EF5 Code First 的新手 在开始工作项目之前我正在修改概念验证 我最初创建了一个看起来像这样的模型 public class Person public int Id get set public string First
  • 如何使视图列不为空

    我正在尝试创建一个视图 其中我希望列仅为 true 或 false 然而 似乎无论我做什么 SQL Server 2008 都认为我的位列可能以某种方式为空 我有一个名为 产品 的表 其中 状态 列是INT NULL 在视图中 我想为 Pr
  • 使用 remix run 将数据发送到服务器

    我在使用 remix run 将数据发送到服务器时遇到问题 我不确定我是否完全理解 useAction 数据的工作原理 我了解 useLoaderData 函数的工作原理 但是当您尝试将数据发送到服务器时 我会收到错误 我想要做的是当我单击
  • 当使用最新的 Monodevelop 和 VS 2012 RC 共享代码时我遇到问题

    当使用最新的Monodevelop和VS 2012 RC来共享代码时 我可以从运行 MonoDevelop 的 Mac 和运行最新 VS 2012 beta 的 Windows 7 PC 加载和使用 sln 解决方案 csproj 项目文件
  • 如何在Excel中将数字保存为字符串?

    如何在Excel中将数字保存为字符串 当我尝试输入数字 00112233 时 Excel 自动将其格式设置为 112233 并将其保存为数字 但我希望前面的 0 不被截断并将数字保存为字符串 作为解决方法 我使用引号 来保存实际的字符串 有
  • Crispy-Forms 包含标签导致许多重复模板

    我有一个 Django 站点 它使用下面的模板来呈现一个 Cripy Forms 模型表单集 使用django debug toolbar 我推测include标签多次渲染 bootstrap4 模板 我认为这就是影响我性能的原因 即加载包
  • + 是什么意思?正则表达式中的意思? [复制]

    这个问题在这里已经有答案了 我见过 正则表达式中有很多 但我不确定它真正代表什么 我知道 means 1或更多 并且 means 0 or 1 也是如此 means 0或者更多 在这种情况下 为什么不直接使用 意思是0或者更多 我只需要知道
  • Pygame 淡入黑色函数

    我正在使用 pygame 最新版本在 python 3 中编写游戏 我有一个功能 旨在慢慢淡出屏幕 直到全黑 它应该通过在屏幕上多次位块传输低 alpha 黑色表面来实现 但是当我测试它时 它只会阻止游戏直到循环完成 我怀疑 black s
  • 与 Azure Application Insights、ASP.NET MVC 和 NLog 的活动关联

    如何设置混音 我配置没有问题应用洞察 and NLog但我不知道如何关联操作 我使用最新版本的NLog所以它知道System Diagnostics Trace CorrelationManager ActivityId以其 activit
  • 系统托盘上下文菜单具有渐变背景

    我正在用java开发桌面应用程序 启动时我的应用程序从系统托盘运行 但是系统托盘的上下文菜单根据操作系统具有标准的外观和感觉 我想自定义上下文菜单 我想为其提供渐变背景 想要更改字体 边框等 请告诉我这可能吗 如果有一些示例 请提供相同的链
  • 在 debian VM 上为 Flask api 构建 Scikit-Learn 时出现问题

    我正在开发一个 Flask API 项目 您可以访问该 APIhere https mdb in tu clausthal de assessment models apidocs 我在 Debian 11 VM 上部署了该项目 该虚拟机全
  • 保存具有 id 的元素的变量存储在哪里?

    这个问题 可通过 ID 访问元素 https stackoverflow com q 12663981 1026459 指出如果一个元素有一个 id 那么您可以根据该 id 通过变量名来访问它 这引起了我的兴趣 因为我在使用 Visual