<div class="dates">
<span class="dates>value</span>
</div>
我想用类dates
提取所有元素,但只提取span元素。
我如何修改以下JS:
var elements = document.getElementsByClassName("dates"); //gets both div + span
最后,我想提取span标签的所有文本值。
我正在使用“旧”getElementsByClassName
来支持旧浏览器。
答案 0 :(得分:2)
如果可以,请使用querySelectorAll:
var elements = document.querySelectorAll("span.dates");
否则,您可以使用tagName过滤现有元素:
var elements = document.getElementsByClassName("dates");
for(var i=elements.length; i--;) {
if(elements[i].tagName.toLowerCase() != "span") continue;
// Do work
}
答案 1 :(得分:1)
在现代浏览器中,您可以将CSS选择器与querySelectorAll
:
var elements = document.querySelectorAll('div.dates, span.dates');
以下浏览器为supported: