Подтвердить что ты не робот

Как выбрать ВСЕ дети (на любом уровне) от родителя в jQuery?

У меня есть .unbind() все элементы из родительского node.

Как я могу выбрать всех детей (на любом уровне) у родителя?

Пробовал:

$('#google_translate_element *').unbind('click');

но он работает только для первого уровня детей...

Здесь есть тестовый пример

4b9b3361

Ответ 1

Используйте jQuery.find(), чтобы найти детей более одного уровня.

Методы .find() и .children() аналогичны, за исключением того, что последний только перемещается на один уровень вниз по дереву DOM.

$('#google_translate_element').find('*').unbind('click');

Вам нужно '*' в find():

В отличие от остальных методов обхода дерева, селектор выражение требуется при вызове .find(). Если нам нужно получить все элементы потомства, мы можем пройти в универсальном селекторе '*', чтобы выполнить это.

Ответ 2

Я думаю, вы могли бы сделать:

$('#google_translate_element').find('*').each(function(){
    $(this).unbind('click');
});

но это вызовет много накладных расходов