我的js和html代码是这样的:
<script>
function addComment(){
var a=document.getElementById("a");
var input=document.getElementById("myinput");
a.innerHTML="<p \u0025></p>";
}
</script>
</head>
<body>
<input id="myinput" type="text"/>
<button onclick="addComment()">input</button>
<p id="a">a</p>
</body>
</html>
结果页面如下所示,\ u0012 unicode已转换为“%”
但是,如果我使用了输入的值(在html代码中):
<script>
function addComment(){
var a=document.getElementById("a");
var input=document.getElementById("myinput");
a.innerHTML=input.value;
}
</script>
</head>
<body>
<input id="myinput" type="text"/>
<button onclick="addComment()">input</button>
<p id="a">a</p>
</body>
</html>
我尝试输入字符串“
” unicode无法转换为“%”:
答案 0 :(得分:0)
您有两个不同的字符串,相当于:
"<p \u0025></p>"
"<p \\u0025></p>"
您必须将第二个字符串作为JavaScript字符串文字进行评估才能获得相同的值:
a.innerHTML=eval('"'+input.value+'"');