2013-06-09 2 views
0

У меня есть вопрос о вводе объекта в JQuery массив Айв получил этот кодДобавить новый объект в массив JS

var currency_values = []; 

$("#bar_" + id).each(function() { 
    currency_values.push({ 
     currency: $(".currency").attr('id'), 
     symbol: $(".symbol").attr('id') 
    }); 
}); 

alert(currency_values[1].currency + " : " + currency_values[1].symbol); 

Это может быть массив п элементов зависит от того, сколько валюты и символы в паре в строке id.

Но похоже, что доступен только элемент 0, а новый объект перезаписывает последний. Я застрял.

+0

Это не «массив jQuery». Это простой JavaScript. В любом случае ** идентификаторы должны быть уникальными **. Если у вас более одного, селектор нацеливается только на один из них. – JJJ

+2

Я не вижу причины для '.each()', так как элемент, выбранный id, должен возвращать только один результат, и вы не используете никакой информации, относящейся к '# bar_id' в функции ... Просто пропустите он целиком и работает только с 'currency_values.push (...)' –

ответ

2

Это потому, что идентификаторы уникальны, и $("#bar_" + id) выбирает только первый элемент с этим ID, поэтому цикл не имеет смысла. Вероятно, вы должны использовать классы?

Смежные вопросы