假设我有以下代码:
<div class="notes">
<div class="note">
<div class="inner-content like"></div>
</div>
<div class="note">
<div class="inner-content unlike"></div>
</div>
<div class="note">
<div class="inner-content unlike"></div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我想要的是filter与子类类似的对象。
我尝试了这段代码,但没有运气:
$("div.notes").filter(".note.note-inner>.like").hide();
Run Code Online (Sandbox Code Playgroud)
具有子类的div没有隐藏。
更新
我想隐藏.note类的元素而不是隐藏的元素.inner-note like。
您没有.note-inner,选择器错误。.note.note-inner将是带有的元素class="note note-inner"。而且.notes只有1个元素,因此$.filter()不会在其中找到任何其他元素或子元素.notes
我认为您的意思是, $("div.notes").find(".note > .like").hide();但您也可以$('div.notes > .note > .like').hide()使用或不使用直接后代选择器-它们对于共享的标记不是必需的。
如果你想删除.note它是否有.like一个孩子,使用$("div.notes").find(".like").closest('.note').hide();。它将找到的.like内部.notes,然后找到与类最接近的祖先.note并将其隐藏。
$("div.notes").find(".like").closest('.note').hide();Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="notes">
<div class="note">
<div class="inner-content unlike">unlike</div>
</div>
<div class="note">
<div class="inner-content like">like</div>
</div>
<div class="note">
<div class="inner-content unlike">unlike</div>
</div>
<div class="note">
<div class="inner-content unlike">unlike</div>
</div>
</div>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
691 次 |
| 最近记录: |