例如,在jQuery中,如果我想选择所有的
但是纯JavaScript没有像jQuery中的filter函数,所以我无法做到这一点:
希望有人能帮我解决这个问题:-)
提前感谢。
更新
一些评论/答案建议做类似于.tagName == "DIV"的事情来查找div,但是,我想要一个像jQuery中的字符串选择器一样的解决方案。
原因是我还想通过属性、类甚至多个用逗号隔开的选择器进行过滤。并且字符串选择器必须是动态的。
也就是说,我不知道选择器中有什么。它可能是"div[foo='asd'], .bar"或者"#hello, [xx='yy'], p"。
因此,我不能硬编码.tagName == "DIV",因为我不知道选择器字符串中有什么。
<div>
和<p>
元素,我可以这样做:var $x = $("p, div");
如果我想获取 x 中所有 <div>
元素,那么我可以这样做:
var $divs = $x.filter("div");
那么如何在原生JavaScript中实现这个简单的filter
呢?
例如,要选择所有的<div>
和<p>
,可以这样做:
var x = document.querySelectorAll("div, p");
但是纯JavaScript没有像jQuery中的filter函数,所以我无法做到这一点:
var divs = x.filter("div"); // ERROR
希望有人能帮我解决这个问题:-)
提前感谢。
更新
一些评论/答案建议做类似于.tagName == "DIV"的事情来查找div,但是,我想要一个像jQuery中的字符串选择器一样的解决方案。
原因是我还想通过属性、类甚至多个用逗号隔开的选择器进行过滤。并且字符串选择器必须是动态的。
也就是说,我不知道选择器中有什么。它可能是"div[foo='asd'], .bar"或者"#hello, [xx='yy'], p"。
因此,我不能硬编码.tagName == "DIV",因为我不知道选择器字符串中有什么。
[anyDomElement].GetElementsByTagName("div")
。 - Marie.filter()
方法? - Roko C. Buljan