我最近开始学习Java Script。我想使用document.write()
并将 html 代码输出为字符串,而无需实际运行代码(只是在屏幕上显示它)。
有什么功能可以帮助我做到这一点吗?
注意:我正在尝试使用Java脚本(不是jQuery)来做到这一点
不要使用document.write()
;这是20世纪动态构建DOM的方式。相反,请将字符串放在您在初始 HTML 中创建的元素的textContent
中。
var string = "<p>hi</p>";
document.getElementById("output").textContent = string;
<div id="output"></div>
另一种方法是创建一个文本节点并将其附加到 DOM。
var string = "<p>Hi</p>";
var node = document.createTextNode(string);
document.body.appendChild(node);
我建议你用 <和> 替换<>。和>
var string = '<html><p>hi</p></html>';
string = string.replace(/</g, "<");
string = string.replace(/>/g, ">");
document.write(string);
http://codepen.io/calvinclaus/pen/eZwGmX?editors=1010
为了补充@Calvin Claus 的答案,您还应该将"&"换成'&'
并将整个字符串包装在 <pre>
中并</pre>
标签以消除空格。请注意,一般来说,您不应该使用 document.write()
,而是更改 DOM 中元素的 textContent 属性(这里可能是div 的情况),并且您不需要转义您的 HTML 标记。