JQuery - получить элементы формы по идентификатору контейнера

Какой самый простой способ получить все элементы формы, которые содержатся в элементе-оболочке.

<form name="myForm">
  <input name="elementA" />
  <div id="wrapper">
    <input name="elementB" />
    <textarea name="elementC" />
  </div>
</form>

В вышеприведенном HTML я бы использовал элемент B и elementC, но не elementA. Я не хочу перечислять все типы элементов формы (select, textarea, input, option...). Я бы предпочел использовать myForm.elements.

Любые идеи?

Ответ 1

Используйте псевдо-селектор :input, если вы не хотите указывать их все:

$('#wrapper :input');

:input выбирает все элементы ввода, textarea, select и button. И здесь нет необходимости использовать .children().

Ответ 2

Если в нем нет ничего, кроме элементов формы

$('#wrapper').children();

Если также будут другие вещи

$('#wrapper').children( 'input, select, textarea' );

Ответ 3

jQuery ('form [name = myform] div # wrapper'). children();

Ответ 4

Что насчет

$(form)[0].elements

Я знаю, что выше код работает в Chrome. Не тестировать другие браузеры.