首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >选择不在容器jquery中的子级

选择不在容器jquery中的子级
EN

Stack Overflow用户
提问于 2014-06-19 15:31:56
回答 5查看 546关注 0票数 1

这似乎是一个简单的问题,但我有一些困难,以解决这个问题。给出的例子是一个SSCCE和我有一个更大的问题,这试图解决。为了使其工作,查询必须不包含任何直接子选择器(>),因为dom树比这个示例要复杂一些。

我在这里的目标是选择没有在包含类的父级下面的所有子级。在本例中,我尝试选择2 div容器-- helloworld,而不是foobar

这里有一个柱塞,里面有你的方便代码。http://plnkr.co/edit/4zsKAFts5X7X2kLADj2V?p=preview

使用此HTML:

代码语言:javascript
运行
复制
<div id="root" class="parent">
  <div>
    <div class="child">hello</div>
    <div class="child">world</div>
  </div>
  <div class="parent">
    <div>
      <div class="child">foo</div>
      <div class="child">bar</div>
    </div>
  </div>
</div>

这个Javascript:

代码语言:javascript
运行
复制
var root = $('#root');
$(':not(.parent) .child', root).css('font-weight', 'bold');

我看到了这样的结果:

hello world foo bar

但我想得到的是

hello world foo 条形

重申一下,我希望获得类child的所有元素,这些元素没有从给定节点开始具有类parent的父元素(在本例中是#root)。

EN

Stack Overflow用户

发布于 2014-06-19 15:42:17

你可以用这个:

代码语言:javascript
运行
复制
$('#root').find('.child').filter(function(){
    return $(this).parents('.parent').length <= 1;
}).css('font-weight', 'bold');

它检查div的父级数,如果它低于或等于1,则返回子元素。

小提琴:http://jsfiddle.net/akwPb/

票数 0
EN
查看全部 5 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24310501

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档