我最近开始学习Java Script。我想使用document.write()
并输出html代码作为字符串而不实际运行代码(只是在屏幕上显示)。
有没有可以帮我做的功能?
注意:我尝试使用Java Script(而不是jQuery)
答案 0 :(得分:2)
不要使用document.write()
;它是20世纪动态构建DOM的方式。而是将字符串放在您在初始HTML中创建的元素的textContent
中。
var string = "<p>hi</p>";
document.getElementById("output").textContent = string;
&#13;
<div id="output"></div>
&#13;
另一种方法是创建一个文本节点并将其附加到DOM。
var string = "<p>Hi</p>";
var node = document.createTextNode(string);
document.body.appendChild(node);
&#13;
答案 1 :(得分:1)
我建议你替换&lt; &GT;与&amp; lt;和&amp; gt;。
var string = '<html><p>hi</p></html>';
string = string.replace(/</g, "<");
string = string.replace(/>/g, ">");
document.write(string);
&#13;
答案 2 :(得分:0)
要添加@Calvin Claus的回答,你还应该交换&#39;&amp;&#39;对于'&'
并将整个字符串包装在<pre>
和</pre>
标记中以消除空格。
请注意,虽然通常你不应该使用document.write()
,而是改变DOM中元素的textContent属性(这里可能就是div),你不需要转义HTML标记。