jquery - 如何构建一个 jquery 选择器,停止在匹配时更深入地遍历?
问题描述
如何构建一个不会在匹配时更深入地遍历的 jquery 选择器?它不应该选择任何具有相同选择器的子代。
$(".foo").each(function(){}); //how to modify '.foo'?
<div>
<div class="foo">
<!--select this-->
</div>
<div class="foo">
<!--select this-->
<div class="foo">
<!--do not select-->
</div>
</div>
</div>
解决方案
一种快速而肮脏的方法:
$('.foo').not('.foo .foo')
这不会选择 'foo' 的 'foo' 子级。
编辑:
如果你给你的外部 div 一个 id,那么你可以这样做:
$("#outer>.foo").each(function(){});
这将选择“#outer”的直接子元素“.foo”元素。
这比第一种方法更快!
推荐阅读
- javascript - 如何使用 Vuetify 在图标和文本字段之间创建空间
- java - 如何将以下 java 查询放入 switch case?
- typescript - 如何使 tslint 接受以“_”开头的变量名
- swift - Swift didSet for var 使用 @Binding 在子级中更改
- c++ - 未找到 SDL_Mixer dll
- angular - Elasticsearch 部分搜索词 | 角
- javascript - HTML Hamburger - 如何形成正确的 X
- java - 如何组织 Java 9 模块的常见依赖项?
- node.js - HTML FormData 文件未发布到 REST API
- json - jq - 如何有条件地过滤掉对象