Как я могу перебирать дочерние элементы div с помощью jQuery?



У меня есть div, и в нем есть несколько входных элементов... Я хотел бы перебрать каждый из этих элементов. Идеи?

679   5  

5 ответов:

использовать children() и each(), вы можете дополнительно передать селектор в children

$('#mydiv').children('input').each(function () {
    alert(this.value); // "this" is the current element in the loop
});

вы также можете просто использовать непосредственный дочерний селектор:

$('#mydiv > input').each(function () { /* ... */ });

также можно перебирать все элементы в определенном контексте, не важно, насколько глубоко они вложены:

$('input', $('#mydiv')).each(function () {
    console.log($(this)); //log every element found to console output
});

второй параметр $('#mydiv'), который передается селектору jQuery 'input', является контекстом. В этом случае предложение each() будет перебирать все входные элементы в контейнере #mydiv, даже если они не являются прямыми потомками #mydiv.

Если вам нужно перебирать дочерние элементы рекурсивно:

function recursiveEach($element){
    $element.children().each(function () {
        var $currentElement = $(this);
        //////////// Show element
        console.info($currentElement);
        //////////// Show events handlers of current element
        console.info($currentElement.data('events'));
        //////////// Loop her children
        recursiveEach($currentElement);
    });
}

//////////// Parent div
recursiveEach($("#div"));   

Примечание: В этом примере я показываю обработчики событий, зарегистрированные с объектом.

Это можно сделать и так.
$('input', '#div').each(function () { console.log($(this)); //log every element found to console output });

children () - это цикл сам по себе.

$('.element').children().animate({
'opacity':'0'
});

Comments

    Ничего не найдено.