gpt4 book ai didi

javascript - 来自构造函数的 HTML 元素标签名称

转载 作者:行者123 更新时间:2023-11-30 14:32:10 24 4
gpt4 key购买 nike

考虑函数:

tagName => document.createElement(tagName).constructor

它返回具有特定标签名称的 HTML 元素的构造函数。

我想反转这个过程并获取提供给其构造函数的 HTML 元素的标签名称(或名称?)。我想为我正在编写的一些单元测试执行此操作,但可能还有其他用例。

几个例子:

tagNameOf(HTMLDivElement)       // should be "div"
tagNameOf(HTMLIFrameElement) // should be "iframe"
tagNameOf(HTMLHtmlElement) // should be "html"
tagNameOf(HTMLTableRowElement) // should be "tr"

不幸的是,我不知道从哪里开始,除非使用静态映射。

有没有简单的方法可以做到这一点?

最佳答案

我想一个看起来很脏的解决方案是检查构造函数的 toString():

const makeConstructor = tagName => document.createElement(tagName).constructor;
const constructorToTagName = constr => constr.toString().match(/HTML(\w+)Element/)[1].toLowerCase();
console.log(constructorToTagName(makeConstructor('div')));
console.log(constructorToTagName(makeConstructor('span')));

关于javascript - 来自构造函数的 HTML 元素标签名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51000461/

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