javascript 替换无法使用“<”
javascript replace fails to work with "<"
我正在尝试使用 javascript 的替换功能替换字符串中的 "<"
和 ">"
。我是这样使用它的:
<html>
<body onload="myFunction()">
<p id="demo">#include <iostream></p>
<script>
function myFunction() {
var str = document.getElementById("demo").innerHTML;
var res = str.replace(/</g, '< ').replace(/>/g, '> ');
document.getElementById("demo").innerHTML = res;
}
</script>
</body>
</html>
我希望输出为 "#include <iostream>"
,但相应的 </iostream>
附加到所需的输出。
这是怎么回事?我该如何避免这种行为?
因为您的 html 中有 <iostream>
,它在您的浏览器中被解释为一个标签,它添加了一个额外的结尾 </iostream>
。看起来好像您正在尝试使用 JS 对其进行转义,但为时已晚,因为您的浏览器正在加载 javascript 之前的 html,并添加了额外的结束标记。在你的 html 中转义它以避免额外的结束标记被附加行为:
<p id="demo">#include <iostream></p>
I just want to automate the replacement of "<" and ">" with <
and >
respectively. @rioc0719: I don't want to do manual replacement.`
请不要尝试用 JS 来做这件事。得到一个为你做的 IDE。地狱,制作一个服务器端脚本来为你做这件事;只是 不要为此使用 JS 这种客户端语言。
2 个回答问题
- 带有 "innerHTML" 的自动关闭标签:找到 Javascript - .innerHTML changes auto close tags
- 替换“<”和“>”使用 textContent
<html>
<body onload="myFunction()">
<p id="demo">#include <iostream> </p>
<script>
function myFunction() {
var str = document.getElementById("demo").innerHTML;
var res = str.replace(/</g, '< ').replace(/>/g, '> ');
document.getElementById("demo").textContent = res;
}
</script>
</body>
</html>
我正在尝试使用 javascript 的替换功能替换字符串中的 "<"
和 ">"
。我是这样使用它的:
<html>
<body onload="myFunction()">
<p id="demo">#include <iostream></p>
<script>
function myFunction() {
var str = document.getElementById("demo").innerHTML;
var res = str.replace(/</g, '< ').replace(/>/g, '> ');
document.getElementById("demo").innerHTML = res;
}
</script>
</body>
</html>
我希望输出为 "#include <iostream>"
,但相应的 </iostream>
附加到所需的输出。
这是怎么回事?我该如何避免这种行为?
因为您的 html 中有 <iostream>
,它在您的浏览器中被解释为一个标签,它添加了一个额外的结尾 </iostream>
。看起来好像您正在尝试使用 JS 对其进行转义,但为时已晚,因为您的浏览器正在加载 javascript 之前的 html,并添加了额外的结束标记。在你的 html 中转义它以避免额外的结束标记被附加行为:
<p id="demo">#include <iostream></p>
I just want to automate the replacement of "<" and ">" with
<
and>
respectively. @rioc0719: I don't want to do manual replacement.`
请不要尝试用 JS 来做这件事。得到一个为你做的 IDE。地狱,制作一个服务器端脚本来为你做这件事;只是 不要为此使用 JS 这种客户端语言。
2 个回答问题
- 带有 "innerHTML" 的自动关闭标签:找到 Javascript - .innerHTML changes auto close tags
- 替换“<”和“>”使用 textContent
<html>
<body onload="myFunction()">
<p id="demo">#include <iostream> </p>
<script>
function myFunction() {
var str = document.getElementById("demo").innerHTML;
var res = str.replace(/</g, '< ').replace(/>/g, '> ');
document.getElementById("demo").textContent = res;
}
</script>
</body>
</html>