javascript - 如何使用 JavaScript 编写未封闭的 HTML 语句

标签 javascript html

在为项目编写一些 JavaScript 时,我遇到了一个问题。我需要创建几个 Div 元素,克隆一个选择列表,然后关闭 Div。使用innerHTML 具有自动关闭任何悬置的“打开”HTML 语句的副作用。这是一个例子:

<html><head></head><body>
<div id="myDiv"></div>
<script>
var myDiv = document.getElementById("myDiv");
myDiv.innerHTML = myDiv.innerHTML + '<i>This should be <b>bold ';
myDiv.innerHTML = myDiv.innerHTML + '</b> and this should not</i>';
</script>
</body></html>

当浏览器执行此操作时,第一个innerHTML分配中的斜体和粗体对我来说会自动“关闭”。我该怎么做才能让它们保持打开状态?

最佳答案

在完成 HTML 字符串的构建之前,不要分配给 innerHTML。使用临时变量:

var h = '';
h += '<i>This should be <b>bold ';
h += '</b> and this should not</i>';
myDiv.innerHTML = h;

或者在一个表达式中分配字符串:

myDiv.innerHTML = 
    '<i>This should be <b>bold ' +
    '</b> and this should not</i>';

关于javascript - 如何使用 JavaScript 编写未封闭的 HTML 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26228869/

相关文章:

javascript - 使用javascript创建与输入复选框列表元素内联的文本元素

javascript - Rails Facebook OAuth 弹出 JS

html - 将鼠标悬停在不同的链接上时如何更改菜单图像?

html - 网站在 Safari 中表现异常

css - div 表格行为

html - 需要带括号的小罗马列表

html - 如何在悬停时为具有多个元素的 div 添加背景图像

javascript - 如何在 qUnit 中针对 DOM 对象进行测试?

php - 更改提交按钮的图像

javascript - 从文件路径或 url 获取目录