jquery - 带有 .has() 方法的子选择器不起作用

标签 jquery

(确实已经提出了一般问题,但此处给出的答案提供了解决此处提出的问题的好方法,而不是其他问题的“幕后”解释...)

我试图突出显示包含输入字段的表格(带有嵌入表格)中的所有单元格。

示例代码:jsFiddle

我可以用$('#rec td:has(>input)')来做到这一点但我更喜欢使用 .has() method作为 :has() selector 的文档提到性能问题 - 我的表可能会因多个嵌入表而变得相当大,而且我 - 仍然 - 必须支持 IE6...

但是,$('#rec td').has('>input')不起作用(它包括实际上没有 <input> 作为直接子代的单元格),似乎忽略了 >子选择器...

有没有办法使用 .has() 方法获得与 :has() 选择器相同的结果?

最佳答案

我相信首先找到所有input,然后找到它们的父td会更有效:

$('#rec input').closest('td').css('background-color', 'blue');

这样就不需要检查每个表格单元格及其子单元格。

<强> FIDDLE

关于jquery - 带有 .has() 方法的子选择器不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17504345/

相关文章:

javascript - Alt 属性问题

javascript - 通过应用程序与本地网页实时交互?

javascript - 将图像缩放到窗口的宽度

javascript - 获取表数据之间有空格的表行文本

javascript - 创建 FormData 不包括未提供的输入文件

jquery - 如何在Jquery中调用按钮单击功能

javascript - html select 无法显示正确的值

javascript - 将执行从js文件中的一个单击事件传递到另一个js文件中的另一个函数

Javascript 表单验证 + ajax 提交不起作用

jquery - 动态分页符 - Jquery