Если у вас много <input>
с на странице, вы должны использовать
// Locate the first element with ID `formid`,
// then query its descendants for `<input>` elements.
formEditable = $("#formid").find("input");
из соображений производительности, поскольку селекторы оцениваются справа налево.
При использовании query $("#formid input")
, сначала все <input>
s расположены, затем они фильтруются по элементам своих предков, ища предка с идентификатором formid
.
Это не уникально для jQuery, но Ваше оригинальное решение фактически учитывает это:
formEditable = document.getElementById("formid").getElementsByTagName("input");
Обратите внимание, что jQuery запросов возвращают jQuery Объект, а не DOMNodeList
элементов. Таким образом, переменная formEditable
будет jQuery объектом. Чтобы преобразовать jQuery Object в массив, используйте метод toArray
.