Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Передача значений атрибута в массив (https://javascript.ru/forum/misc/40771-peredacha-znachenijj-atributa-v-massiv.html)

Does 19.08.2013 16:07

Передача значений атрибута в массив
 
Вложений: 1
Приветствую!

Имеем HTML-страницу с определенным количеством тэгов 'input', необходимо собрать значения атрибута 'value' у всех инпутов и передать их в массив.

Функция:

function abc(){ 

     var a = document.getElementsByTagName('input');
     var b = [];  
 
        for(var i=0; i<a.length; i++)
            {
               if(!a[i].getAttribute('value'))continue; 
               b += a[i].getAttribute('value');
            };
        return b;       
};


При выводе массива в alert'е, все выглядит как надо - все значения собраны, НО если возвратить длину -
return b.length
Мы получим кол-во всех символов (см. аттач).

Как же получить длину массива равную количеству атрибутов (в данном случае их должно быть 10)?

Спасибо.

animhotep 19.08.2013 16:17

Цитата:

Сообщение от Does
Как же получить длину массива равную количеству атрибутов

a.length

danik.js 19.08.2013 16:26

Цитата:

Сообщение от Дзен-трансгуманист
b.push(a[i].getAttribute('value'))

Лучше
b.push(a[i].value)

Does 19.08.2013 16:29

Дзен-трансгуманист,
Спасибо, заработало)
animhotep,
:)

ruslan_mart 19.08.2013 18:30

function abc() {
   var a = document.getElementsByTagName('input'), b = [];
   for(var i=0; i<a.length; i++) if(a[i].value) b.push(a[i].value);
   return b;
}


Часовой пояс GMT +3, время: 06:51.