输入html元素,其内容必须转换为所需的格式。必须删除所有未解析的标记,但文本必须保留。input元素的内容可以以任何方式嵌套。允许的标记列表可以更改。不使用RegEx。
我的解决方法。创建一个允许标记的列表。递归地遍历所有childNodes
,到达没有子元素的元素。对照列表检查每个Node
。如果有-什么都不做,如果没有-删除,留下内容。
这就是我所坚持的。也许需要一种不同的方法。如果是这样的话,我很乐意去弄清楚。我用打字机写。
const formating = (currElem: HTMLElement, whiteList: Array<string>) => {
currElem.childNodes.forEach((child) => {
console.log(child)
if (child.hasChildNodes())
formating(child as HTMLElement, whiteList);
if (!(child.nodeName in whiteList)) {
}
});
}
1条答案
按热度按时间kr98yfug1#
您正在寻找
element.tagName
和element.replaceWith