Я пытаюсь получить все элементы формы в пределах определенного DIV, и объединить их в единый массив с помощью CONCAT массива() метод:Комбинирование массивы, возвращаемые getElementsByWhatever
var div_id = 'some_div_id'; // in real life this is passed as a function parameter
var child_inputs = document.getElementById(div_id).getElementsByTagName('input');
var child_textareas = document.getElementById(div_id).getElementsByTagName('textarea');
var child_selects = document.getElementById(div_id).getElementsByTagName('select');
var field_elements = child_inputs.concat(child_textareas, child_selects); // this doesnt work?
Однако скрипт не на последняя строка Я не знаю, почему. Я не могу использовать .childNodes, потому что переданный div_id не является прямым родителем.
массив структур должны быть одинаковыми для использования CONCAT. Эти селекторы элементов дают результаты, которых нет. Это не простые списки - это объекты. –
Кроме того, см. Это http://stackoverflow.com/questions/2735067/how-to-convert-a-dom-node-list-to-an-array-in-javascript –
Также смотрите: [http: // stackoverflow.com/questions/914783/javascript-nodelist](http://stackoverflow.com/questions/914783/javascript-nodelist) – wave