请问下 JS获取子节点的问题 求大神们给我解释下
window.onload = function() {
    var addressNode=document.getElementById("address");
    var liNode=addressNode.firstChild;
    alert(liNode.nodeValue);//这里我得不到数据
    alert(addressNode.childNodes.length);//这里结果是7
    alert(addressNode.firstChild);//这里是[object Text],为什么不是[HTML element]?
    alert(addressNode.lastChild);//这里是[object Text]
}


  <p>地点</p>
    <ul id="address">
       <li id="dd" name="a5" onclick="alert('北京');">北京</li>
       <li>上海</li>
       <li>厦门</li>
    </ul>

我浏览器用IE(WIN10的) 和猎豹 都一样的结果

2个回答

不要用firstChild,childNodes这种属性,要不空白节点标准浏览器下也算一个节点,firstChild明显是空白节点了,要去掉回车

    <ul id="address"><li id="dd" name="a5" onclick="alert('北京');">北京</li><li>上海</li><li>厦门</li></ul>

F12打断点看一下liNode有没数据,没有的话是否该浏览器版本不支持addressNode.firstChild取数据方法

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问