Итерация через дочерние элементы N уровня

Это похоже на что-то изящное, что можно "встроить в" jQuery, но я думаю, что это все же стоит спросить.

У меня есть проблема, которую можно легко решить, перебирая все дочерние элементы элемента. Я недавно обнаружил, что мне нужно учитывать случаи, когда мне нужно было бы сделать уровень или два глубже, чем «1 уровень» (просто вызывая .children () один раз), который я делаю сейчас.

jQuery.each(divToLookAt.children(), function(index, element)
    {
        //do stuff
    }
    );  

Это то, что я сейчас делаю. Чтобы углубиться на второй уровень, я запускаю еще один цикл после выполнения кода наполнения для каждого элемента.

jQuery.each(divToLookAt.children(), function(index, element)
{
     //do stuff
    jQuery.each(jQuery(element).children(), function(indexLevelTwo, elementLevelTwo)
    {
        //do stuff
    }
    );  
}
);

Если я хочу пройти еще один уровень, я должен проделать это снова и снова.

Это явно не хорошо. Я бы хотел объявить переменную уровня, а затем позаботиться обо всем этом. У кого-нибудь есть идеи для чистого и эффективного решения jQueryish?

Спасибо!

16
задан Quintin Robinson 17 January 2011 в 22:21
поделиться