nodeValue不返回文本

时间:2016-10-08 16:36:22

标签: javascript

我是javascript的新手。我使用nodeValue从节点返回文本。因为,它返回null,我尝试使用firstChild.nodeValue。但是,现在它说:无法读取null的属性'nodeValue' 这是代码: -

<head>
  <script type="text/javascript" src="get.js"></script>
</head>
<body>
  <ul id="eventsList">
    <li>List 1</li>
    <li>List 2</li>
    <li><a href="http://www.google.com">Linked item to Google</a></li>
    <li>List 4</li>
  </ul>

</body>

get.js: -

window.onload=function hear()
{
    var no=document.getElementsByTagName("ul")[0];
    var msg="";
    if (no.hasChildNodes())
    {
        var son=no.childNodes;
        var i;
        for (i=0;i<son.length;i++)
          msg+=son[i].firstChild.nodeValue;
    }
    alert(msg);
}

任何帮助将不胜感激。 格拉莫西...

1 个答案:

答案 0 :(得分:0)

而不是childNodes使用children 所以应该是。

var son=no.children;

你的JS:

var son=no.children;
        var i;
        for (i=0;i<son.length;i++){

          msg+=son[i].firstChild.nodeValue;


        }
  

为什么不工作?

childNodes还包括例如文本节点和注释。要跳过它们,请改用ParentNode.children