【发布时间】:2015-05-23 00:38:25
【问题描述】:
您好,如果我遇到这样的情况,如何对 document.querySelectorAll 进行分组:
<div>
<p class="flower">Flower 1</p>
<p class="bee">Bee 1</p>
<p class="tree"></p>
</div>
<div>
<p class="flower">Flower 2</p>
<p class="dude"></p>
<p class="snow-leopard"></p>
</div>
<div>
<p class="flower">Flower 3</p>
<p class="tree"></p>
<p class="mountain"></p>
<p class="wizard"></p>
<p class="bee">Bee 3</p>
</div>
我总是想选择花,如果有蜜蜂我想让它附在花上,其他的我不关心。花和蜜蜂在 div 中没有特定的顺序,并且有些情况下没有蜜蜂。还假设花和蜜蜂有一个类,但结构的其余部分不像示例中那样干净。到目前为止,我唯一的解决方案是升级几个级别,然后使用正则表达式。最后,我想将它们都包含在一个 json 中:
[{flower: "yellow", bee:"bumblebee"},...]
这种方法:
var flowers = document.querySelectorAll(flower);
var bees = document.querySelectorAll(bee);
然后在这两个数组上进行迭代是行不通的。
【问题讨论】:
-
不完全确定你想用 JSON 做什么,你应该在哪里得到
flower: "yellow"中的“黄色”? -
无论如何,这就是您查询所有具有“bee”和“flower”类的元素的方式:
document.querySelectorAll(".flower, .bee")
标签: javascript css-selectors casperjs selectors-api