我有一个相当“奇怪”的场景(网页抓取)。我只想选择class=g
但不那些class="g g"
(双等级g
)。如何在jQuery中做到这一点?
如果我使用$('。g'),它会同时选择.g
和.g .g
更新1:
如果您认为.g .g
无效,请在Google搜索结果中查看来源;)
答案 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);