如何结合has()和gt()

时间:2010-04-28 04:13:11

标签: javascript jquery

使用jQuery 1.4.2,我无法弄清楚如何将has()与:gt结合起来。我想选择包含3 <ul>以上的任何<li>,所以这就是我尝试的内容:

$(document).ready(function(){  
  $("ul.collapse:has(li:gt(2))")  
    .each( function() {  
       $(this).css("border", "solid red 1px");  
  });  
});  

这适用于1.2.6 jQuery库,但不适用于1.3.2或1.4.2。为什么?

2 个答案:

答案 0 :(得分:1)

尝试使用nth-child

$('ul').has('li:nth-child(3)').css('border', 'solid red 1px');

工作示例:http://jsbin.com/opape3

<子> 此选择器由于某种原因无效:$("ul.collapse:has(li:nth-child(3))")

答案 1 :(得分:0)

尝试.filter()

$("ul").filter(function(){
    return $(this).find("li").length > 4;
}).each(function(){
    // your code   
});