我想写一个空角色。 我在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("demo").innerHTML = " & quot; is &quot; "">Click Me!</button>
</body>
</html>
点击按钮后显示哪个:&amp; QUOT;是&#34; 但&#34; 的html特殊字符是&amp; quot ;而不是&amp; QUOT;
另一方面,如果我写这个:&quot;
而不是& quot;
我得&#34;
但如果我带走分号:&quot;
我会得到&amp; quot ;
我使用chrome并且我在firefox上尝试过,但是,我怀疑这种行为是不安全的,只是从浏览器中推断出来。
那么,有没有办法在HTML中写一个空字符?
这样我就可以写&&EMPTYHTMLCODE;quot;
来获得所需的&amp; quot ;
我抬起头来:http://www.degraeve.com/reference/specialcharacters.php但找不到任何东西。
注意:直接写&#34; &amp; quot ;&#34;没有分开&quot;和; **(粗体标签)将解释&#34; &amp; quot ;&#34; as&#34; &#34; &#34;
答案 0 :(得分:1)
使用innerText
代替innerHTML
:
<p id="demo">JavaScript can change HTML content.</p>
<button type="button" onclick="document.getElementById("demo").innerText = " &quot; is \" "">Click Me!</button>
&#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解析规则有些棘手。