在为项目编写一些 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/