Как я могу изменить css объекта при итерации через массив объектов? Здесь моя попытка:
var buttons = $('#nav li');
for(button in buttons){
button.css("opacity","1");
}
Но это дает ошибку:
Uncaught TypeError: Object 0 has no method 'css'
(anonymous function)
k jquery-1.8.0.min.js:2
l.fireWith jquery-1.8.0.min.js:2
p.extend.ready jquery-1.8.0.min.js:2
D
Вам не нужно перебирать коллекцию для установки css
, jQuery делает это для вас:
$('#nav li').css('opacity','1');
Вы вызываете метод .css()
на все ключи объекта jQuery, а не на фактические выбранные элементы, jQuery возвращает массив выделенных элементов, состоящий из jQuery, если вы хотите получить фактический массив элементов, вы можете используйте .get()
и если вы хотите итерации по коллекции, вы можете просто использовать метод .each()
:
$('#nav li').each(function(index, element) {
// ...
});