带有 ID 的 DOM 树元素会取代浏览器中的 getElementById 吗?
Internet Explorer 和 Chrome 提供了一种独特的行为,可以将带有 ID 的 HTML 元素使用它们的 ID 作为变量名或窗口对象的属性进行访问。这引发了有关此行为本质的疑问。
每个 DOM 元素都会成为全局属性吗?
否。全局属性行为仅适用于 DOM 树中的“命名元素”。命名元素包括具有 id 属性的元素或具有用于识别目的的 name 属性的元素(例如,表单、图像、锚点)。
getElementById 是否已过时?
虽然可以在 Internet Explorer 和 Chrome 中全局访问命名元素,但它不能替代 getElementById 方法。元素名称可能与文档或窗口对象的实际属性发生冲突,从而导致歧义和潜在错误。
风险和最佳实践
将命名元素作为全局变量访问是由于以下几个原因,被认为是不好的做法:
标准化
将命名元素作为全局变量进行访问的可疑做法正在被标准化HTML5。这意味着未来的浏览器,包括 Firefox,也将支持这种行为,进一步加强其使用。
结论
尽管在互联网中以全局变量的形式访问命名元素很容易Explorer 和 Chrome,这仍然是一个应该避免的糟糕做法。坚持使用 getElementById 方法来跨浏览器进行稳健且明确的 DOM 元素操作。
以上是ID 属性 DOM 元素'getElementById()”是否已过时?的详细内容。更多信息请关注PHP中文网其他相关文章!