我是JavaScript新手。我正在尝试将文字添加到p
代码中,并使用该ID进行定位。现在,使用document.getElementById('text').innerHTML
,当我设置包含do
字词的文字时,它会返回p
标记中的原始文字。
document.getElementById('text').innerHTML='as I add??? do';
<p id="text" class="abc">Hello</p>
仅在do
之间出现这种情况。
Here's a GIF explaining the issue:
我希望我做得对。但是,可能会有一些怪异的东西在弄乱我。
答案 0 :(得分:3)
由Juhana和jsbin member在github上评论,它是false positive
,这可以通过在代码中添加// noprotect
来实现。
例如
console.clear();
document.getElementById('abc').innerHTML = 'this is abc do ';
// noprotect
p.s。 截至目前,我们要解决循环保护问题,直到它得到解决。
答案 1 :(得分:1)
使用时
document.getElementById("text").innerHTML = "abc a d";
他们加载这个文件(我的格式很漂亮):
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
<style id="jsbin-css"></style>
</head>
<body>
<p id="text">Hello</p>
<script>
try {
document.getElementById("text").innerHTML = "abc a d";
} catch (error) {
throw error;
}
//# sourceURL=wecinoqeje.js
</script>
</body>
</html>
但是当你使用do
时,他们会完全搞砸你的代码。
document.getElementById("text").innerHTML = "abc a do";
他们可能认为它是do-while
,因为他们有一种称为“循环保护”的东西。加载的文档是
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
<style id="jsbin-css"></style>
</head>
<body>
<p id="text">Hello</p>
<script>
try {
{
;
window.runnerWindow.protect.protect({
line: 1,
reset: true
});
document.getElementById("text")
{
if (window.runnerWindow.protect.protect({ line: 1 }))
break;
.innerHTML = "abc a do";
}
}
} catch (error) {
throw error;
}
//# sourceURL=wecinoqeje.js
</script>
</body>
</html>
这是一个语法错误。所以你的代码没有运行。