javascript - 如何使用 JavaScript 附加 HTML 代码?
问题描述
我正在尝试使用 JavaScript 向 DOM 添加一个元素。我有一个ul
,我想添加一个li
。使用起来没什么困难,appendChild
但我希望我li
的更复杂。
这是我想要实现的输出:
<li>
<span class="author">Me</span>
<span class="message">Message...</span>
<span class="time">
<div class="line"></div>
15:21
</span>
</li>
let author = "me";
let message = "Message...";
let time = "15:21";
正如你所看到的,我想要实现的不仅仅是li
一些基本的文本(innerHTML),而是相当大的 HTML 代码块。
我的问题是如何使用 JavaScript 获得此输出。或者我应该使用一些 JavaScript 库或其他东西来使它更容易?
解决方案
查看我们附加到 DOM 的代码的原始链接。然后您可以使用字符串插值将变量添加到代码中,如下所示
function appendHtml(el, str) {
var div = document.createElement('div'); //container to append to
div.innerHTML = str;
while (div.children.length > 0) {
el.appendChild(div.children[0]);
}
}
let author = "me";
let message = "Message...";
let time = "15:21";
var html = `<li><span class="author">${author}</span><span class="message">${message}</span><span class="time"><div class="line"></div>${time}</span></li>`;
appendHtml(document.body, html);
推荐阅读
- java - 如何确保每个 3x3 块都包含数独中的值
- angular - 带有产品过滤器查询参数的角路由
- c++ - 绘制圆弧并覆盖 boundingRect(), shape()
- sql - SQLITE 不能正确地对浮点值求和
- ios - iPad 应用程序在不活动后退出
- firebase - React-Native Firebase 自定义事件未在 iOS 的 DebugView 模式下显示
- r - 在数据框中的多个因素中重命名级别
- python - Python 从元组中拆分元素?
- python - 如何在树莓派 3 中修复此错误?
- node.js - 身份验证失败后使用 CSS 响应用户。(护照)