如何在没有jQuery的情况下在Javascript中链接选择器

在尝试操纵外部站点的布局时,我经常被迫使用一系列选择器来定位我想要的特定元素。 我第一次遇到这个时,我得到了一个jQuery解决方案,很容易得到结果。 我宁愿不依赖jQuery,也想知道这在标准Javascript中是多么可行。 这是一个jQuery’链’的例子 –

$('div[id="entry"] > p[class="header"] > span[id="title"] > div[class*="entry"] > p[class="title"] > a[class*="target"]').. etc 

所以说HTML结构粗略

 

那么这怎么可能正常呢? 谢谢。

输入document.querySelectorAll 。

这是jQuery在内部支持它的浏览器。 语法与jQuery(Sizzle)选择器中的语法相同,请参阅Selectors API 。

这不漂亮..

对于每个嵌套/链接元素,您可以通过childNodes属性获取其子元素。 然后让循环开始。 :/然后你必须递归遍历所有孩子和孩子的孩子,依此类推,直到你找到适当匹配的元素。

更新

要检查类名的一部分,您可以执行以下操作:

 if (element.className.indexOf('myClass') >= 0) { // found it! } 

如果你想避免使用jQuery并且只使用复杂的CSS选择器,那么SizzleJS库可能就是你所需要的。 每次你在寻找一个DOM元素时,它比自己做的容易得多!

 function selectors(){ var temp= []; //array for storing multiple id selectors. for(var i = 0;i