<ul id="source"><li>北京空气质量:<b>90</b></li><li>上海空气质量:<b>70</b></li><li>天津空气质量:<b>80</b></li><li>广州空气质量:<b>50</b></li><li>深圳空气质量:<b>40</b></li><li>福州空气质量:<b>32</b></li><li>成都空气质量:<b>90</b></li></ul>就像这样要怎么获取“XX空气质量”以及b元素中的文本。?为什么这样:var ul = document.getElementById("source");var val = ul.childNodes[0].childNodes[0].nodeValue;或者这样:var ul = document.getElementById("source");var val = ul.childNode[0].nodeValue;都获取不到li元素中的文本。求解释
1 回答

侃侃尔雅
TA贡献1801条经验 获得超16个赞
按照你的思路
var val = ul.childNodes[1].childNodes[0].nodeValue;
北京空气质量:
部分要这么取,因为ul
和li
之间的换行(空格)也是文本节点。所以li
索引应该是1
var val = ul.children[0].childNodes[0].nodeValue;
或者使用上面的children
不取文本节点。
var ul = document.getElementById("source");
var elLis = ul.getElementsByTagName('li');
var elBs = ul.getElementsByTagName('b');
for(var i = 0;i<elLis.length;i++){
console.log(elLis[i].childNodes[0].nodeValue,elBs[i].innerText)
}
添加回答
举报
0/150
提交
取消