2013-04-15 4 views
1

Я хочу показать .folder, когда его щелкнули и спрятали весь остальной контент. Также как файловый браузер.Показать детей и скрыть родителя

+0

Могу ли я спросить, почему вы не можете просто использовать файловый браузер? Если вы взаимодействуете с жестким диском пользователя, вы должны иметь классы ввода-вывода для отображения простого файлового браузера. – Jeff

+0

Не взаимодействует с жестким диском пользователя вообще. Список файлов со стороны сервера. – Kivylius

+0

http://jsfiddle.net/ что не работает? – DerStoffel

ответ

0
$('ul li.folder').on('click',function(e){ 

    $(this).siblings('li').toggle(); 
    $(this).children().toggle(); 
    e.stopPropagation(); 
}); 

это должно работать.

1

Вы можете попробовать использовать JQuery siblings() selector.

$('.folder').on('click',function(e){ 
    $(this).children().toggle(); 
    $(this).siblings('li.folder').children().toggle(); 
    e.stopPropagation(); 
}); 
+0

, что почти отлично работает, но не для 2/3/4 .. уровня глубокого списка – Kivylius

+0

Играйте с ним. Возможно, вам нужно использовать некоторые другие селектора (.parent()? .children()? Какое поведение вы видите, это не так, как предполагалось? Попробуйте все, это весело. – Jeff

0

Sample

//toggle children and siblings 
$('.folder').on('click',function(e){ 
    $(this).children().toggle(); 
    $(this).siblings().toggle(); 
    e.stopPropagation(); 
}); 
//cancel file clicks 
$('.file').on('click', function(e) { 
    e.stopPropagation(); 
    return false; 
}); 
Смежные вопросы