问题:
在 Javascript 中,通过以下方式访问元素它们使用点符号 (a.method()) 的 ID 在 Chrome 中全局有效,但在 Firefox 中无效。根据网络规范,正确的行为是什么?此外,Chrome 如何处理 ID 翻译中的 ID 歧义和特殊字符?
答案:
全局访问元素 ID 的行为因所参考的规范而异.
浏览器历来采用此行为以实现兼容性,Internet Explorer 最初引入了它。 Firefox 还以怪异模式支持它。
正确行为:
根据 WHATWG HTML 规范,具有 ID 的元素应该可以全局访问。然而,依赖全局命名空间进行元素引用通常被认为是不好的做法。
Chrome 中的歧义处理:
Chrome 目前不处理全局变量和元素 ID 很好。如果存在与全局变量具有相同 ID 的元素,则通过全局变量访问该元素可能会导致意外行为。
带有特殊字符的 ID 翻译:
可以使用 getElementById() 方法访问 ID 中的特殊字符。然而,这些字符到全局变量表示的转换在任何规范中都没有明确定义。
以上是为什么 JavaScript 中的全局元素 ID 访问在浏览器之间有所不同,标准是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!