2016-10-05 33 views
0

如果子元素包含類「current_page_item」,則可以通過向父級添加類「in」擴展子菜單。問題是,如果任何子菜單都有這個類的孩子,他們都會擴展。JQuery:如果一個子類中的孩子擁有類,則所有子菜單都會展開

if ($('.children li').hasClass('current_page_item')) { 
    $('.children', this) 
     .addClass('in'); 
}; 

https://jsfiddle.net/n94Lwe9t/

我不能指定的ID或其他任何特定的。我將如何定位具有該子級的特定父級?

+0

與$嘗試( '孩子>禮') –

+0

不,那('ul') \t .addClass('in') – Heather

+1

試試這個$('li.current_page_item')。不解決字形圖標 –

回答

1

遍歷children類的子元素裏,然後用closest()找到合適的父

$('.children li').each(function(){ 

    if($(this).hasClass('current_page_item')) { 
    console.log($(this).closest('.has-children').find('.list-group-item .glyphicon')); 
    $(this).closest('.has-children').find('.list-group-item .glyphicon').toggleClass('glyphicon-chevron-right').addClass('glyphicon-chevron-down') 
    $(this).closest('.children').addClass('in'); 
    } 

}) 

JSFIDDLE

+0

這工作謝謝你!我不是最大的循環呢。 – Heather

+0

高興地幫助:) –

相關問題