html 元素的 ID 是不是始终可从 window 对象获得? [复制]

Posted

技术标签:

【中文标题】html 元素的 ID 是不是始终可从 window 对象获得? [复制]【英文标题】:Are IDs for an html element always available from the window object? [duplicate]html 元素的 ID 是否始终可从 window 对象获得? [复制] 【发布时间】:2013-03-23 23:23:29 【问题描述】:

我注意到以下内容:

<div id='myDiv'>...</div>

<script>
    myDiv.style.color = 'red'; // I can access the object.
<script>

在意识到这一点之前,我一直在使用以下内容:

var x = document.getElementById('myDiv'); 
x.style.color = 'red';

我很困惑。第二种方法的重点是什么?第一种方法总是有效吗?

【问题讨论】:

如果我没记错的话,第一种方法只适用于 IE 和某些元素,第二种方法是正确的跨浏览器方法 我猜第二种方法实际上是符合标准的,而第一种方法是上一个时代遗留下来的,您可能不应该总是依赖它。跨度> 使用第二种方法,您可以轻松地在其他各种场景中重用变量“x”。 @frisco 它适用于 Chrome。我正在使用铬 我同意这是一个重复的问题 【参考方案1】:

一个 html 元素的 ID 是否总是可以从 window 对象获得?

没有。出于兼容性原因,其他一些浏览器采用了非标准的微软主义。它容易发生命名空间冲突,并且不完全跨浏览器兼容:不要这样做。

第二种方法的意义何在?

它是标准的、得到良好支持的跨浏览器(也跨语言)。

【讨论】:

HTML5 adds this behavior to the standard.

以上是关于html 元素的 ID 是不是始终可从 window 对象获得? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

Google 是不是始终保留 GCM 注册 ID?

视图ID的整数值在android中是不是始终不变?

SFSafariViewController 在导航栏和底部工具栏中是不是始终具有相同的 UI 元素?

始终为 JPA @Id 使用原始对象包装器而不是原始类型?

HTML 输入元素 (field.validate) 始终未定义

可从熊猫数据框迭代