javascript - 为什么在某些情况下组合 has() 和 gt() 不起作用?

标签 javascript jquery

我想选择任何包含超过 3 个 li 的 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 行为报告为错误吗?

最佳答案

这称为错误。

我找到了一个类似的here .

关于javascript - 为什么在某些情况下组合 has() 和 gt() 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2761159/

相关文章:

php - 获取整个 div 及其元素并使用 php 邮件功能发送它

javascript - jQuery 无法更新数据属性

javascript - 如何从 JSON 文件获取 JSON 数据

javascript - 在 Vue.js 2.0 中按两个或多个选择过滤列表

javascript - jquery 错误 : Syntax error, 无法识别的表达式

javascript - 如何在Quasar框架的 Electron 应用中制作多页?

jquery - 导航栏上的切换按钮不起作用 - Twitter Bootstrap 3.2

javascript - 为动态生成的 div 添加样式

jquery - 按纵横比调整图像大小

javascript - Cordova Android - 禁用定位服务时,getCurrentPosition 不会触发错误回调