空字符"代码" in inline javascript

时间:2018-05-23 11:41:26

标签: javascript html

我想写一个空角色。 我在w3School上学习javascript并偶然发现了这个

<!DOCTYPE html>
<html>
<body>

<h2>What Can JavaScript Do?</h2>

<p id="demo">JavaScript can change HTML content.</p>

<button type="button" onclick='document.getElementById("demo").innerHTML = "Hello JavaScript!"'>Click Me!</button>

</body>
</html>

它说可以使用简单和双引号,我做了很少的诡计:

<!DOCTYPE html>
<html>
<body>

<h2>What Can JavaScript Do?</h2>

<p id="demo">JavaScript can change HTML content.</p>

<button type="button" onclick="document.getElementById(&quot;demo&quot;).innerHTML = &quot; &amp; quot; is &amp;quot; &quot;">Click Me!</button>

</body>
</html>

点击按钮后显示哪个:&amp; QUOT;是&#34; &#34; 的html特殊字符是&amp; quot ;而不是&amp; QUOT;

另一方面,如果我写这个:&amp;quot;而不是&amp; quot;我得&#34; 但如果我带走分号:&ampquot;我会得到&amp; quot ;

我使用chrome并且我在firefox上尝试过,但是,我怀疑这种行为是不安全的,只是从浏览器中推断出来。

那么,有没有办法在HTML中写一个空字符? 这样我就可以写&amp;&EMPTYHTMLCODE;quot;来获得所需的&amp; quot ;

我抬起头来:http://www.degraeve.com/reference/specialcharacters.php但找不到任何东西。

注意:直接写&#34; &amp; quot ;&#34;没有分开&quot;和; **(粗体标签)将解释&#34; &amp; quot ;&#34; as&#34; &#34; &#34;

2 个答案:

答案 0 :(得分:1)

使用innerText代替innerHTML

&#13;
&#13;
<p id="demo">JavaScript can change HTML content.</p>

<button type="button" onclick="document.getElementById(&quot;demo&quot;).innerText = &quot; &amp;quot; is \&quot; &quot;">Click Me!</button>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

您可以使用斜杠(\")来转义引号,以便在JavaScript中使用相同类型的引号:

<h2>What Can JavaScript Do?</h2>

<p id="demo">JavaScript can change HTML content.</p>

<button type="button" onclick='document.getElementById("demo").innerHTML = "Hello nested \"\" in JavaScript!"'>Click Me!</button>

&something;语法是HTML特殊字符转义,而不是JavaScript。在JavaScript字符串中,它仅在您将其用于HTML输出时才有效,并且它(有时)很棘手,因为适用于.innerHTML()方法的HTML解析规则有些棘手。