css选择器使用Cheerio排除双等级

时间:2013-02-22 08:31:09

标签: html css dom jquery-selectors cheerio

我有一个相当“奇怪”的场景(网页抓取)。我只想选择class=g那些class="g g"(双等级g)。如何在jQuery中做到这一点?

如果我使用$('。g'),它会同时选择.g.g .g

更新1:

如果您认为.g .g无效,请在Google搜索结果中查看来源;)

2 个答案:

答案 0 :(得分:4)

即使我不认为g g有效(让我检查一下)..因此$(".g:not(.g.g)")不起作用,你可以这样做:

var myWeirdElements = $('.g').map(function(){return this.className.indexOf('g g') && this ;});

// or, as mentioned on the comment, using Array.filter method

demo => http://jsfiddle.net/GeAaA/

编辑:关于第二条评论,你只需计算多少g(简单的正则表达式)

答案 1 :(得分:2)

考虑以下情况,您有两个带有上述类的Div标记

<div class="g"></div>

<div class="g g"></div>

写下以获取只有那些有“g”类的div

alert($("div[class='g']").length);