- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在处理大量遗留代码,并且有大量 document.all 用法实例。我需要将所有这些实例(批量)替换为 Microsoft 支持的内容(据我所知,document.all 不再受支持)。
将 document.all 的所有实例替换为 document.getElementsByTagName() 是否安全?请记住 document.all 可以有多种形式,如 document.all.item("") 等。我需要知道 document.getElementsByTag('') 是否可以作为盲目替换的解决方案document.all 在任何地方使用(以任何形式)
最佳答案
document.all
Provides access to all elements with an id. This is a legacy, non-standard, interface and you should use thedocument.getElementById()
method instead.
因此,document.getElementsByTagName("*")
将返回比具有 id 的元素更多的元素
这个定义意味着你可以做
document.querySelectorAll('[id]'); // NodeList
MSDN has a different definition
The all collection includes one element object for each valid HTML tag. If a valid tag has a matching end tag, both tags are represented by the same element object.
在这种情况下,document.getElementsByTagName("*")
确实给出了类似的结果 (HTMLCollection)
NodeList 将无法重现 document.all.id_value
、document.all[id_value]
或 的预期结果文档.all(foo)
.
HTMLCollection 确实支持 document.all.id_value
和 document.all[id_value]
,如 w3's DOM spec 中所述,虽然我强烈建议不要使用它而不是其他方法,例如 getElementById
实际上,您将不得不快速检查代码以确保无论您选择哪种替代方案,它都能按预期工作。
关于javascript - 我可以用 document.getElementsByTagName ('*' 盲目地替换整个项目中所有出现的 document.all 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32097476/
这个查询 SELECT station_id, station_name, COUNT(event_station) as `total_visit_count`
我是一名优秀的程序员,十分优秀!