为了账号安全,请及时绑定邮箱和手机立即绑定

父节点中的childNodes中既有元素节点又有文本节点,要怎么获取其中的文本节点?

父节点中的childNodes中既有元素节点又有文本节点,要怎么获取其中的文本节点?

弑天下 2018-10-17 14:09:03
<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;

北京空气质量:部分要这么取,因为ulli之间的换行(空格)也是文本节点。所以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)

}


查看完整回答
反对 回复 2018-11-23

添加回答

代码语言

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号