Javascript.innerHTML正在评论以<! - ? - >开头的所有内容

时间:2014-11-11 11:59:54

标签: javascript html

有人知道在使用.innerHTML显示结果时如何避免此文字被注释掉?

document.getElementById("Final-Result").innerHTML = "This text will appear, <? while this will be commented out ?>";

你可以在这里试试http://www.w3schools.com/js/tryit.asp?filename=tryjs_comments1

修改 我需要PHP标签,不是出于功能原因,而是显示带有代码片段的HTML <code>块,问题是,如果我替换了&lt;和&gt;使用&lt;&gt; - 整个HTML块将表示为文本。 另一种方法是使用RegExp替换(所有)<??>次出现 这样的RegExp会是什么样的?

感谢。

4 个答案:

答案 0 :(得分:2)

这是因为你需要编码&lt; &GT;否则它试图将其解析为htmltags。

&lt; =  < 
&gt; =  >

http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references

在您的情况下,这将写为

document.getElementById("Final-Result").innerHTML = "This text will appear, &lt;? while this will be commented out ?&gt;";

答案 1 :(得分:1)

使用innerTexttextContent代替innerHTML,因为它不是HTML。

答案 2 :(得分:0)

你好,只需删除php标签

<!DOCTYPE html>
<html>
<body>

<h1 id="myH"></h1>
<p id="myP"></p>

<script>
// Change heading:
document.getElementById("myH").innerHTML = "My First Page";
// Change paragraph:
document.getElementById("myP").innerHTML = "This text will appear, < while this will be commented out >";
</script>

</body>
</html>

答案 3 :(得分:0)

<??>是PHP标记的简写。为什么要在HTML字符串中使用它们?尝试用引号括起来。