2 回答
TA贡献1829条经验 获得超4个赞
您的代码存在多个问题。
首先,在引用变量时,您使用的是带有名称的字符串。这是错误的,您可以而且应该只使用它而不使用引号。像这样:
reference.appendChild("spanner");
reference.appendChild("thepic");
outer.appendChild("reference");
应该
reference.appendChild(spanner);
reference.appendChild(thepic);
outer.appendChild(reference);
其次,更重要的是,您可能应该使用一些模板引擎来做这类事情。手动更换会很快变得很麻烦。你不必使用现代和花哨的框架(如 React、Angular、Vue 等)来做到这一点。例如,您可以检查https://github.com/janl/mustache.js或https://ejs.co/ 之类的内容,让您的生活更轻松。
TA贡献2051条经验 获得超10个赞
通过多行字符串和变量插值,您可以直接在代码中使用 HTML。插入方法是insertAdjacentHTML。
const clss = "landscape";
const src = "images/landscape/land_01.jpg";
const href = "images/landscape/land_01.jpg";
const html = `<div class="item ${clss} col-6 col-sm-6 col-md-6 col-lg-4 col-xl-4 mb-4">
<a href="${href}" class="item-wrap fancybox">
<span class="icon-search2"></span>
<img class="img-fluid" src="${src}">
</a>
</div>`
const container = document.getElementById("container");
container.insertAdjacentHTML("beforeend", html);
alert(container.outerHTML);
<div id="container">the container</div>
添加回答
举报