Javascript,字符串带有'<'或者'>'
Javascript, String with '<' or '>'
我试图用包含<
或>
的文本的Javascript设置div
的内部文本,但它不起作用。有什么想法吗?
这是我的代码示例(简单的HTML和简单的Javascript),带有测试点击操作。
<html>
<body>
<div id="aaa">
div
</div>
<hr>
<a onclick="getElementById('aaa').innerHTML = 'abc';">click ok1</a>
<p>
<a onclick="var str='asbc'; getElementById('aaa').innerHTML = str;">click ok2</a>
<p>
<a onclick="getElementById('aaa').innerHTML = '<uio>';">click nok1</a>
<p>
<a onclick="getElementById('aaa').innerHTML = '<wer>';">click nok2</a>
<p>
<a onclick="var str='<abc>'; getElementById('aaa').innerHTML = str;">click nok3</a>
<p>
<a onclick="var str='<abc>'; getElementById('aaa').innerHTML = str;">cl nok4</a>
<p>
<a onclick="alert ('<wer>');">click a</a>
<p>
<a onclick="alert ('<w34r>');">click b</a>
<p>
</body>
</html>
它在警报中起作用,但在设置innerHTML
时不起作用。。。如果没有<
或>
,它也会工作,所以一定是有字符的。
不要使用innerHTML
插入<
和>
。使用textContent
:
getElementById('aaa').textContent = '<uio>'
如果在字符串中包含实际的"<"
和">"
字符,如"<uio>"
,则当您将其设置为innerHTML
时,浏览器会将其视为无法识别的html标记,并且不会显示任何内容。
当您在JS中使用与标记内联的"<abc>"
等html实体时,浏览器首先将其解析为html,然后将其视为JS,因此JS引擎必须使用"<abc>"
。
您可以通过在内联onclick
处理程序中执行以下操作来绕过此问题:
document.getElementById("aaa").innerHTML ='&lt;abc&gt;'
因为当JS引擎获得它时,它将是CCD_ 19。
或者,您可以将JS移动到脚本元素中,然后使用"<abc>"
。
相关文章:
- 哪个布尔运算更快<或者<=
- 做<img>或者<画布>保存对原始(大)dataUrl对象的引用
- jQuery选择器,用于使用>或者<
- 使用<代码>或者<pre>Jade模板中的标签
- Javascript,字符串带有'<'或者'>'
- Javascript(jQuery)/HTML:设置<输入>或者<选择>启用,不工作
- <嵌入>或者<对象>标签视频播放错误处理程序-JavaScript
- 正在转换<br>标记到<Div>或者<P>标签
- 有没有一种方法可以包括<脚本>或者<link>在所有页面中显示一次
- 如何将当前光标中的行格式化为<h1>或者<p>标记
- 放置JavaScript函数的位置:<头><身体>?或者在</html>
- 如何在<Div类=“;abc定义“;style='显示“>或者在<Div类=“;aB-cd-e
- 如何更改<李>或者<tr>颜色一个接一个
- 直接从javascript调用java类,而不使用<苹果>或者<对象>
- Javascript没有't在<头部>或者<身体>标签
- 使用<对象>或者<iframe>在链接中
- 是否可以将一个唯一的CSS类附加到多个<李>元素,或者使用Jquery对它们重新排序
- Youtube是否使用<iframe>或者<视频>在他们自己的域上的视频
- <noscript>或者其他什么
- & lt;跨度id =“display_XXXXX"祝辞& lt; / span>没有显示任何东西,或者显示“未