是否可以创建某种HTML对象(甚至使用框架)
我想知道是否有可能创建一种HTML对象而不是复制粘贴的东西,我想通过javascript来实现,但想知道是否有更简单的方法来实现(用JS编写HTML有点乏味) 基本上,让我们假设有一个这样的div:是否可以创建某种HTML对象(甚至使用框架),html,Html,我想知道是否有可能创建一种HTML对象而不是复制粘贴的东西,我想通过javascript来实现,但想知道是否有更简单的方法来实现(用JS编写HTML有点乏味) 基本上,让我们假设有一个这样的div: <div class ="col"> <div class="Title"> Title </div> <div class="Text"
<div class ="col">
<div class="Title">
Title
</div>
<div class="Text">
Text
</div>
</div>
标题
正文
最好的方法是使用某种类型的函数来创建objectName.create(title,text)还是使用类似javascript的函数(title,text)来创建元素?您可以获取外部元素并将其克隆,更改其内容并将其追加回所需的位置。请注意,如果您的元素应该有一个ID,那么这可能会重复ID
函数createHtml(标题、文本){
const el=document.querySelector('.col').cloneNode(true);
el.querySelector('.Title')。innerText=标题;
el.querySelector('.Text')。innerText=Text;
文件.正文.附件(el);
}
创建HTML(“Foo”、“Bar”)代码>
标题
正文
在js中使用模板文字成为一种东西之后,用js编写html并不是件坏事,您可以这样做
函数addCol(标题、文本){
document.querySelector(“.list”).innerHTML+=`
${title}
${text}
`;
}
addCol(“你好”,“世界”);
addCol(“foo”、“bar”)代码>
这可能是一种安全风险,具体取决于OP希望如何使用此代码。不要使用可变内容设置innerHTML。看看我的答案,看看它是如何正确完成的。你永远不应该信任用户数据,但是如果你担心XSS,你可以通过在将内容添加到模板之前清理内容来很容易地防止它,例如像这样使用${domprify.sanitize(myVar)}
为什么这个选项比另一个选项“更安全”(关于你的评论)?谢谢,请阅读我发布的链接的答案。以上是开放的xss攻击@LoicBAZIN这里。简而言之,我的版本逃避了输入,另一个答案是有人可以在你的站点中注入代码,用于攻击