爲什麼我不能在jQuery中選擇一個孩子的孩子?我想使用.children()
方法和>
選擇器向課程的孩子添加課程。請參見下面的代碼:選擇一個孩子的子女
$(function(){
// main expansion element
$(".expander").click(function() {
var subShown = $(this).children("ul > li").hasClass("show");
if (!subShown) {
$(this).children(".indented").slideDown('100').addClass("show");
$(this).children(".caret").addClass("reversedCaret");
} else {
$(this).children(".indented").slideUp('100').removeClass("show");
$(this).children(".caret").removeClass("reversedCaret");
}
});
});
HTML:
<div class="expander">
<span class="caret downCaret right visibleCaret">+</span>
<ul>
<li class="category">Item 1<a href="http://www.google.com"></a></li>
<li class="indented"><a href="http://www.google.com">Item 2</a></li>
<li class="indented"><a href="http://www.google.com">Item 3</a></li>
</ul>
</div>
當我點擊expander
它不會將該類添加到我的li
元素。爲什麼?
的'li'是在膨脹,這就是'兒童不直接孩子() '回報。你需要使用'find()'而不是'children()'。 'children()'和find('> *')基本相同' – Taplar
我試過'.find()'但我無法正常工作。會在'.children()'之前還是之後? – kawnah
看看斯科特的解決方案。你根本不用 - 要 - 完全使用孩子()。 – Taplar