【问题标题】:Why innerHTML properity cannot get the wanted value为什么 innerHTML 属性无法获得想要的值
【发布时间】:2014-04-11 13:01:52
【问题描述】:

在 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>

但它不起作用,谁能告诉我我在这里错过了什么吗?谢谢。

【问题讨论】:

标签: javascript innerhtml


【解决方案1】:

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

您可以改用document.getElementById("intro").innerHTML(获取段落的innerHTML,而不是段落内的文本)。

【讨论】:

    【解决方案2】:

    试试

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

    【讨论】:

      【解决方案3】:

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

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

      另外,尝试寻找 W3Schools 的替代品:http://www.w3fools.com/

      【讨论】:

        【解决方案4】:

        改变

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

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

        http://jsfiddle.net/THMVC/

        【讨论】:

          【解决方案5】:

          只使用

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2016-10-05
            • 1970-01-01
            • 2022-06-16
            • 1970-01-01
            • 1970-01-01
            • 2017-10-19
            • 2018-01-28
            相关资源
            最近更新 更多