jquery - 您可以在之前缓存的 jQuery 选择器上使用第 n 个子选择器吗?

标签 jquery jquery-selectors

在使用 DOM 时,我倾向于缓存一个项目,检测它是否存在,然后执行一些工作。就像这样:

var $fooModules = $j('.foo-modules');

if ($fooModules .length > 0) {
    //do something.
}

但是,我如何解决使用像 nth-child 这样的 jQuery 选择与我的缓存选择器的问题?

我知道我不能这样做:

        $j($fooModules:nth-child(3n).addClass('myClass');

您如何解决这个常见问题?

谢谢

-R

最佳答案

您可以使用.filter()使用选择器或函数进一步过滤集合,如下所示:

$fooModules.filter(":nth-child(3n)").addClass('myClass');

关于jquery - 您可以在之前缓存的 jQuery 选择器上使用第 n 个子选择器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4256964/

相关文章:

jquery - 安装 jQuery 出现 webpack 错误

javascript - 在 javascript 或 jquery 中拆分日期和时间

javascript - 在滚动时查找位于可见屏幕(视口(viewport))中间的元素

jquery - 使用 jQuery 选择嵌套 div

jquery - 如何在jquery中选择所选元素(网格样式)下方的元素(div)

javascript - 根据类别更改下拉列表以匹配单击的链接

jquery - 在可编辑行上触发模糊事件

jquery - 为图像添加灯箱

jquery - 如何找到 jQuery 中未更改的输入元素?

javascript - jQuery:我如何显示/隐藏这些元素?