作为前端开发人员,你知道html中总共有多少种元素吗?
提出这个问题,你最先想到的是如何解决这个问题呢,说实话,我最开始找的百度,于是乎。
好家伙,下面一顿噼里啪啦,五花八门的答案,来看一下

百度知道的一种答案89个

这个回答是158个。其他的就不一一列举了。
下面看一个权威的网站:https://html.spec.whatwg.org/multipage/indices.html#elements-3
这个是html目前的标准网站

笔者把它粘贴到表格里数了一下,发现有114个标签。
哈哈,这下找到正确答案了,还没结束,接下来又发现一个由意思的。
其实笔者又想到了一个思路,就是看html元素的构造函数的原型是否继承自 HTMLElement,
1 let flag = HTMLBodyElement.prototype instanceof HTMLElement 2 //flag = true 3 4 5 Object.getOwnPropertyNames(window).map(name=>window[name] && window[name].prototype).filter(o=>o).filter(i=>i instanceof HTMLElement) 6 7 //(75) [HTMLOptionElement, HTMLImageElement,
//HTMLAudioElement, HTMLVideoElement, HTMLUnknownElement,
//HTMLUListElement, HTMLTrackElement, HTMLTitleElement, HTMLTimeElement, HTMLTextAreaElement, HTMLTemplateElement, HTMLTableSectionElement,
//HTMLTableRowElement, HTMLTableElement,
// HTMLTableColElement, HTMLTableCellElement,
//HTMLTableCaptionElement, HTMLStyleElement,
//HTMLSpanElement, HTMLSourceElement, HTMLSlotElement,
//HTMLShadowElement, HTMLSelectElement, HTMLScriptElement,
//HTMLQuoteElement, HTMLProgressElement, HTMLPreElement,
//HTMLPictureElement, HTMLParamElement,
//HTMLParagraphElement, HTMLOutputElement,
//HTMLOptionElement, HTMLOptGroupElement,
//HTMLObjectElement, HTMLOListElement, HTMLModElement,
//HTMLMeterElement, HTMLMetaElement, HTMLMenuElement,
//HTMLMediaElement, HTMLMarqueeElement, HTMLMapElement,
//HTMLLinkElement, HTMLLegendElement, HTMLLabelElement,
//HTMLLIElement, HTMLInputElement, HTMLImageElement,
//HTMLIFrameElement, HTMLHtmlElement, HTMLHeadingElement,
//HTMLHeadElement, HTMLHRElement, HTMLFrameSetElement,
//HTMLFrameElement, HTMLFormElement, HTMLFontElement,
//HTMLFieldSetElement, HTMLEmbedElement, HTMLDivElement,
//HTMLDirectoryElement, HTMLDialogElement,
//HTMLDetailsElement, HTMLDataListElement, HTMLDataElement,
//HTMLDListElement, HTMLContentElement, HTMLCanvasElement,
//HTMLButtonElement, HTMLBodyElement, HTMLBaseElement,
//HTMLBRElement, HTMLAudioElement, HTMLAreaElement,
//HTMLAnchorElement]
结果发现是75?
和官方不一样
哎,到底哪个是对的呢?
可以和我一起讨论讨论。
浙公网安备 33010602011771号