为什么innerHTML属性无法获得所需的值

时间:2014-04-11 13:01:52

标签: javascript innerhtml

在w3schools的Javascript教程中,它指出: 可以通过节点的innerHTML属性或nodeValue访问文本节点的值。

然后我更改以下代码:

<!DOCTYPE html>
<html>
<body>

<p id="intro">Hello World!</p>

<script>
txt=document.getElementById("intro").childNodes[0].nodeValue;
document.write(txt);
</script>

</body>
</html>

<!DOCTYPE html>
<html>
<body>

<p id="intro">Hello World!</p>

<script>
txt=document.getElementById("intro").childNodes[0].innerHTML;
document.write(txt);
</script>

</body>
</html>

但它没有用,有人可以让我知道我错过了什么吗?感谢。

5 个答案:

答案 0 :(得分:3)

document.getElementById("intro").childNodes[0]文本节点,但只有元素节点具有innerHTML

您可以改为使用document.getElementById("intro").innerHTML(获取段落的innerHTML而不是段落中的文字。)

答案 1 :(得分:2)

尝试

txt=document.getElementById("intro").innerHTML;
document.write(txt);

答案 2 :(得分:0)

您可以直接从innerHTML元素访问p

txt=document.getElementById("intro").innerHTML;
document.write(txt);

另外,尝试找到W3Schools的替代方案:http://www.w3fools.com/

答案 3 :(得分:0)

更改

txt=document.getElementById("intro").childNodes[0].innerHTML;

txt=document.getElementById("intro").innerHTML;

http://jsfiddle.net/THMVC/

答案 4 :(得分:0)

仅使用

txt=document.getElementById("intro").innerHTML;