我怎么能输出到屏幕html作为字符串?

时间:2016-05-19 21:58:02

标签: javascript

我最近开始学习Java Script。我想使用document.write()并输出html代码作为字符串而不实际运行代码(只是在屏幕上显示)。

有没有可以帮我做的功能?

注意:我尝试使用Java Script(而不是jQuery)

3 个答案:

答案 0 :(得分:2)

不要使用document.write();它是20世纪动态构建DOM的方式。而是将字符串放在您在初始HTML中创建的元素的textContent中。



var string = "<p>hi</p>";
document.getElementById("output").textContent = string;
&#13;
<div id="output"></div>
&#13;
&#13;
&#13;

另一种方法是创建一个文本节点并将其附加到DOM。

&#13;
&#13;
var string = "<p>Hi</p>";
var node = document.createTextNode(string);
document.body.appendChild(node);
&#13;
&#13;
&#13;

答案 1 :(得分:1)

我建议你替换&lt; &GT;与&amp; lt;和&amp; gt;。

&#13;
&#13;
var string = '<html><p>hi</p></html>';
string = string.replace(/</g, "&lt;");
string = string.replace(/>/g, "&gt;");
document.write(string);
&#13;
&#13;
&#13;

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

答案 2 :(得分:0)

要添加@Calvin Claus的回答,你还应该交换&#39;&amp;&#39;对于'&amp;'并将整个字符串包装在<pre></pre>标记中以消除空格。 请注意,虽然通常你不应该使用document.write(),而是改变DOM中元素的textContent属性(这里可能就是div),你不需要转义HTML标记。