javascript - jQuery 是否为每个具有 id 的元素创建一个全局范围的对象?

标签 javascript jquery

我注意到,至少在 Firefox 中,jQuery 似乎为页面上具有 ID 的每个元素创建一个全局变量,并调用该变量(无论 ID 是什么)。在这张来自 Firebug 的图片中,看看我是如何得到一个名为 querystring 的元素的,但我似乎也有一个全局变量也叫做 querystring:

enter image description here

这个变量HtmlInputElement的类型,因为元素定义为:

<input id="querystring" ...>

这是 jQuery 中的全局快捷方式吗,例如 varname$('#varname') 相同,还是我不明白我所看到的在这里?

最佳答案

这实际上是一个 HTML5 的东西,而不仅仅是 jQuery。

这段代码展示了一个很好的例子:

<a id="yestheyreglobals">Are IDs globals?</a>

<script>
    if ( yestheyreglobals ) {
        document.write('Yes they\'re globals')
    }
</script>

将其粘贴到一个空的 .html 文件中并观看魔术。不需要 jQuery。

来源:http://codepen.io/anon/pen/Arasd

尽管这可行,但并非所有浏览器都支持它,因此仍应依赖 document.getElementById

还有 WHATWG 标准的链接以防有人好奇:http://www.whatwg.org/specs/web-apps/current-work/#named-access-on-the-window-object

关于javascript - jQuery 是否为每个具有 id 的元素创建一个全局范围的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22641852/

相关文章:

javascript - 如果语句在不应该触发的时候触发

javascript - 如何使用具有相同 id 的多个 elememts 的 javascript?

javascript - JavaScript 正则表达式会导致浏览器崩溃吗? urlPath = urlPath.replace(/(.*)+(#)$/i ,'$1' ); 是如何实现的?崩溃的 Chrome

javascript - 制作一个 leet speak 翻译器

javascript - Bootstrap Accordion 表现怪异

javascript - jquery获取父div图片源

jQuery .slideUp() 卡住

php - 如何将额外的数据字段添加到ajax表中的数据库中

javascript - 使用 Ajax 从 JSON 文件加载内容时,不会对 div 产生影响。

javascript - 我如何区分自动生成的链接与 JavaScript?