我怎样才能将屏幕 HTML 作为字符串输出



我最近开始学习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, "&lt;");
string = string.replace(/>/g, "&gt;");
document.write(string);

http://codepen.io/calvinclaus/pen/eZwGmX?editors=1010

为了补充@Calvin Claus 的答案,您还应该将"&"换成'&amp;'并将整个字符串包装在 <pre> 中并</pre>标签以消除空格。请注意,一般来说,您不应该使用 document.write() ,而是更改 DOM 中元素的 textContent 属性(这里可能是div 的情况),并且您不需要转义您的 HTML 标记。

最新更新