北京空气质量:90
上海空气质量:70
天津空气质量:80
广州空气质量:50
深圳空气质量:40
福州空气质量:32
成都空气质量:90
就像这样要怎么获取“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元素中的文本。求解释
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
按照你的思路
北京空气质量:部分要这么取,因为ul和li之间的换行(空格)也是文本节点。所以li索引应该是1或者使用上面的
children不取文本节点。正确的应该是这个:document.getElementsByTagName("li")[0].innerText
0可以换成其他索引
取值不到的原因是ul.childNodes包括了子节点和文字,ul.childNodes[0]是个回车所以是没有childNodes这个属性的,你把ul.childNodes打印出来就看清楚了。
因为空格和换行会被认为是一个文本节点,所以你要遍历parent.childNodes的话,就有点麻烦,需要判断每个节点是否为文本节点不说,还需要判文本节点是否为空格或者换行等是否为为你需要的内容。
所以你可以用
var lists = ul.children这样lists就是<li>元素的集合,不包含<ul>里面的文本节点
然后用
或者