有没有办法让JS导出一个所有可能的标准HTML标签的列表?
例如,如果我们想获得所有可用的样式属性,我们可以
var d = document.createElement('div');
for(var property in d.style) console.log(property); // would print out all properties;
但是我们想知道是否有一种方法可以获得所有可用的HTML标签。
如果这是不可能的,有没有人知道我们可以从哪里得到这样一份名单?我们无法在逗号分隔的/ json中找到它...我们找到的都是有参考资料的网站等等。
- 注意-我们不是在谈论
document.querySelectorAll('*')
,它将为我们提供DOM中的所有元素。我们正在寻找所有可能的标准HTML标签
2条答案
按热度按时间iibxawm41#
没有“所有可能的”HTML标签列表,因为有无限多的HTML标签是“可能的”。有一个规范,列出了所有当前标准的HTML标记,当然,您可以使用自己的标记创建custom elements。
出于好奇,我想看看从规范的网页上获取列表有多难。我想到了这个:
所以,不难。
如果你从上面的链接打开规范时在控制台中运行它,截至2018年10月撰写本文 (以及五年后的编辑),它列出了112个元素:
使用基于代码的方法很有诱惑力,通过检查
window
的属性来查找HTML元素构造函数:但是:
tbody
、tfoot
和thead
都使用HTMLTableSectionElement
,这意味着tablesection
,但这不是一个标记,tbody
、tfoot
或thead
HTMLElement
示例(code
,cite
,b
,aside
,...)所以,是的,代码方法行不通。你得从说明书上找到名单。
ahy6op9u2#
你可以从w3scools这样的网站上获取一个列表,所以我就这么做了。我需要这个无论如何,并有它躺在一个项目左右。它是截至今天(2023年2月8日)的所有HTML元素的数组。