У меня есть div, и в нем есть несколько элементов ввода ... Я хотел бы пройтись по каждому из этих элементов. Идеи?
257
Используйте children()
и each()
, вы можете при желании передать селекторchildren
$('#mydiv').children('input').each(function () {
alert(this.value); // "this" is the current element in the loop
});
Вы также можете просто использовать непосредственный дочерний селектор:
$('#mydiv > input').each(function () { /* ... */ });
each()
. Проверьте документы, связанные в ответе выше.Также возможно перебирать все элементы в определенном контексте, независимо от того, насколько глубоко они вложены:
Второй параметр $ ('# mydiv'), который передается в селектор jQuery 'input', является контекстом. В этом случае предложение each () будет перебирать все входные элементы в контейнере #mydiv, даже если они не являются прямыми потомками #mydiv.
источник
Если вам нужно рекурсивно перебирать дочерние элементы :
источник
Это также можно сделать так:
источник
Это повторяет все дочерние элементы, и к их элементу со значением индекса можно получить доступ отдельно, используя element и index соответственно.
источник
children () сам по себе цикл.
источник
Я не думаю, что вам нужно использовать
each()
, вы можете использовать стандартные для циклатаким образом, вы можете иметь стандарт для таких функций цикла, как
break
иcontinue
работает по умолчаниютак же
debugging will be easier
источник
$.each()
это всегда медленнее, чемfor
цикл, и это единственный ответ, который использует его. Ключевым моментом здесь является использование.eq()
для доступа к фактическому элементу вchildren
массиве, а не к скобке ([]
).