如何通过嵌套类构建带有标签的字符串?

问题描述 投票:0回答:0

如何通过嵌套类构建带有标签的字符串?

大家好!

你能帮我用嵌套类构建一个html文档吗?

主要目的是用这样的 html 标记构建一个字符串

<html>

<div>

<p>123</p>

<div>

<div>

123

<a>123</a>

<div>

</div>

</div>

</html>

我有一个包含以下文件的 DOMElement 类:

class DOMElement {

TagName :string;

TextContent: string | null;

Attributes: string[];

AttributesValue: string[];

Children: DOMElement[]; // stored nested tags;

}

所以我已经有了这个类的文档的 dom 结构,我想把它返回到标记中

为此我使用了错误的方法

public convertToHtml(domTree: DOMElement, str: string = ''): string {



if (domTree.Children.length != 0) {

domTree.Children.forEach(x => {

let attributes = '';

x.Attributes.forEach((attr, index) => {

attributes += attr + '=' + `${x.AttributesValue[index]}"`;

});

if (x.Children.length != 0) {

x.TextContent = ''

}

str += `<${x.TagName.toLowerCase()} ${'attributes'}>${this.convertToHtml(x,str)}${x.TextContent}</${x.TagName.toLowerCase()}>`

});

}

return str;

}

如何修复此递归以使其返回标记结构?或者它有其他选项来创建带有嵌套对象的标记?

谢谢!

获取结果 html 正文

javascript html typescript recursion dom
© www.soinside.com 2019 - 2024. All rights reserved.