为什么在某些情况下不合并has()和gt()?

时间:2010-05-03 20:59:15

标签: javascript jquery

我想选择任何包含超过3 lis的ul。

此代码适用于1.2.6 jQuery库:

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

但不是1.3.2或1.4.2。

此代码适用于1.4.2 jQuery库:

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

但不是v1.2.6。

我的理解是jQuery版本的更改应该(通常)不需要更改代码。任何帮助理解这一点,或者不同版本的jQuery库之间需要注意的差异,将不胜感激。谢谢!

澄清:
为什么每个版本都适用于一个库版本,而另一个版本不适用?这是一个已知的错误(如果是这样,哪一个?),或者我做错了什么?是否存在有关jQuery网站上描述这些问题的文档错误?我应该将1.4.2行为报告为错误吗?

1 个答案:

答案 0 :(得分:1)

这称为错误。

我找到了类似的here