innerHTML不改变innerHTML

时间:2014-11-24 18:02:53

标签: javascript innerhtml

我已经在一个旧的IE中测试了这个代码并且它可以工作,但是在其他所有现代的代码中它似乎无法工作。

只有当textarea没有以任何方式进行修改时才会起作用,之后它就不起作用了。对页面的任何更改都会突然停止运行。

<html>
<script>
function clearArea() {
    document.getElementById("tarea").innerHTML = "This is what\'s up.";
}
</script>
<body>
<button type="button" onclick="clearArea()">Click me to clear area</button>
<textarea id="tarea"></textarea>
</body>
</html> 

知道可能导致这种情况的原因吗?

3 个答案:

答案 0 :(得分:4)

因为textarea没有innerHTML,所以它有value

function clearArea() {
    document.getElementById("tarea").value = "This is what\'s up.";
}
<button type="button" onclick="clearArea()">Click me to clear area</button>
<textarea id="tarea"></textarea>

答案 1 :(得分:1)

我更喜欢使用value属性,您可以使用它而不是innerHTML。

这是一个演示:JSBin

代码

function clearArea() {
    document.getElementById("tarea").value = "This is what's up.";
}

答案 2 :(得分:-1)

我认为主要问题是您忘记将<script>标记包装在<head>标记中。

这是有效的:

<html>
<head>
<script>
function clearArea() {
    document.getElementById("tarea").innerHTML = "This is what\'s up.";
}
</script>
</head>
<body>
<button type="button" onclick="clearArea()">Click me to clear area</button>
<textarea id="tarea"></textarea>
</body>
</html>