保存具有 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 的元素的变量存储在哪里? 的相关文章

  • CSS 内边框?

    我纯粹用 CSS 创建了左侧的按钮 它是一个div 中的一个div 然而 右侧的三个按钮是background属性于img标签 我这样做是为了按照以下说明模拟翻转效果here http kyleschaeffer com best prac
  • JS文件中的System.register是什么意思?

    在 Angular 2 中使用指令时 JS 文件中的 System register 是什么意思 我认为这个问题并不特定于 Angular2 中的指令 它是关于 ES6 TypeScript 和其他使用 SystemJS 的现代编译器的一般
  • JavaScript 可以检测用户的浏览器是否支持 gzip 吗?

    我可以使用 JavaScript 来检测用户的浏览器是否支持 gzip 压缩内容 客户端 而不是 Node js 或类似内容 我正在尝试支持以下边缘情况 有很多可能的文件可以加载到特定的 Web 应用程序上 最好在应用程序运行时根据需要加载
  • 由于 MIME 类型而导致资源被阻止?

    多年来我已经成功地包含动态创建的 javascript 文件 这是一个例子 https granadainfo com sups php locs 95 https granadainfo com sups php locs 95 正如你所
  • 如何将本地文本文件上传到文本区域(网页内)

    我是一名新手程序员 需要一些帮助来弄清楚如何将本地文本文件上传到我正在构建的网站内的文本区域 我非常精通 HTML CSS 对 Javascript JQuery 有相当的了解 而且我刚刚学习 PHP 您能提供的任何帮助我将不胜感激 我有一
  • SVG线宽问题

    我开始了我的svg学习 我想用svg线做一些技巧吧 但有件事我不明白 我为每个技能创建 2 行 一行是空的 另一行是知识百分比 问题是 前两行的高度是我给出的笔画宽度的一半 其他线都有很好的高度 这是一个 jsbin http jsbin
  • 使用 JavaScript 防止网页导航离开

    如何使用 JavaScript 防止网页导航离开 Using onunload允许您显示消息 但不会中断导航 因为为时已晚 然而 使用onbeforeunload将中断导航 window onbeforeunload function re
  • 将文本字段限制为仅包含数字的最佳方法?

    I m using the following Javascript to restrict a text field on my website to only accept numerical input and no other le
  • 如何绕过Access-Control-Allow-Origin?

    我正在一个平台上对我自己的服务器进行ajax调用 他们设置了阻止这些ajax调用的平台 但我需要它从我的服务器获取数据以显示从我的服务器数据库检索到的数据 我的 ajax 脚本正在运行 它可以将数据发送到我的服务器的 php 脚本以允许其处
  • 如何在打字稿中使用外部js

    我通过 Typescript 代码生成 Angular JS 代码 在一种情况下 我需要将外部 JS 文件添加到我的打字稿文件中 并且需要访问 js 文件中的类 我像这样添加js文件
  • 如何将两个 span 元素一个向左对齐,另一个向右对齐?

    我有两个 span 要素 span style margin right auto 2012 XYZ Corp All Rights Reserved span span style margin left auto Built with
  • 此版本的 CLI 仅与 Angular 版本 5.0.0 或更高版本兼容错误

    我已经有 Angular 项目在 4 版本中运行 在安装新项目时 不幸的是我安装了 6 版本的 Angular cli 在以 4 版本运行的旧项目中运行 ngserve 命令时 这会引发错误 您的全局 Angular CLI 版本大于本地版
  • 如何使用 fetch() 和 WhatWG 流获取文件上传进度

    注意 我并不是在寻找任何替代方案 我知道这可以通过 XMLHttpRequest 来完成 我也不关心浏览器支持 我只想了解新的 即将推出的标准 我有一个File https developer mozilla org en US docs
  • 如何给URL添加变量?

    我正在尝试从网站收集数据 我有一个 Excel 文件 其中包含该网站的所有不同扩展名 F i www example com example2 我有一个脚本可以成功从网站中提取 HTML 但现在我想为所有扩展自动执行此操作 然而 当我说 s
  • 如何使用 jQuery 过滤 DropDownList 中的选项

    我有 2 个 DropDownList 第一个 DropDownList 有 4 个选项 第二个 DropDownList 有 20 个选项 我想要一个选项value 1在第一个 DropDownList 中选择我在第二个 DropDown
  • 如何将数据推送到嵌套对象

    如何将另一个元素推入variables来自以下对象的属性 var request name Name id 3 rules name Rule name tags tagId 1 variables variable var1 matchT
  • highchart堆积柱每个类别的总数据

    我想获取每个类别的总数据 这point stackTotal只给出活动数据的总数 从我粘贴的代码示例中 我想知道每种水果的总消耗量 因此 即使我单击右上角图例上的乔的名字 这使得堆叠图表上的所有乔信息都处于非活动状态 我仍然可以知道约翰 简
  • 如何从 Cloud Functions for Firebase 文件夹读取证书文件

    我正在尝试读取 certs 文件夹下的文件 如下所示 functions certs idp public cert perm 这是我用来读取文件的代码 fs readFileSync path join dirname certs idp
  • Safari 扩展将消息发送到特定选项卡

    有没有办法从全局页面发送消息到特定选项卡 我目前正在做的是 在创建选项卡时 注入的脚本会创建一个唯一的 ID 并将包含该编号的消息发送到全局页面 并且全局页面会保存该编号 如果全局页面需要发送一些数据到一个tab 即 tab 3 然后全局页
  • 使用
    元素作为 JavaScript 代码的输入。这是最好的方法吗?

    各位 显然 我是编码新手 所以最近完成了一些有关 HTML 和 Javascript 的 Lynda 课程后 我的简单 HTML 页面遇到了困难 基本上 我想要的是使用 JavaScript 进行基本计算 让用户使用 HTML 输入两个数字

随机推荐

  • 我的 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