gpt4 book ai didi

javascript - 有没有办法测试 html 元素是否可以接受属性?

转载 作者:行者123 更新时间:2023-12-02 14:01:02 24 4
gpt4 key购买 nike

好吧,我可以创建一个元素数组并对其进行测试,但这不太实用。

我想知道是否有办法做这样的事情:

if (el 接受 attrName) 做某事。

编辑:我指的是这个列表 https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes

最佳答案

浏览器不提供 API 来告诉您识别了哪些属性。

如果您要将要求限制为 HTML 3.2、HTML 4 或 XHTML 1,那么您可以解析 DTD 以获取每个元素支持的属性列表。例如the HTML 4.01 Strict DTD 。这需要您找到或编写一个 JavaScript DTD 解析器。

HTML 5 不提供官方的机器可读规范。您可以尝试解析 the table of data在索引中(我注意到 HTML 5 和 HTML 5.1 之间的格式发生了变化)

当然,对于 HTML 5,您还必须处理多规范问题。 W3C 发布了您可以使用的快照,并且它们很稳定,但是 WHATWG spec是“活的”,所以会不断变化。

Validator.nu 是开源的,因此您可以 use their schema ,但它遵循现行规范,并且可能会发生变化并且经常过时。

这仅涉及标准。如果您想处理浏览器实际支持的内容(鉴于它们有时会引入非标准功能,并且通常没有任何给定规范的完整实现),那么您大多不走运。您可能会成功地从 HTML 5 test 等网站读取数据。和 Can I use不过。

如果你想处理浏览器不支持的事情(即它们允许你添加到 DOM 中的属性,但会忽略任何不是你编写的寻找它们的代码的属性),那么,我知道,一切都被“接受”了。

关于javascript - 有没有办法测试 html 元素是否可以接受属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40420511/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com