Изменить css объекта, используя jquery, итерируя по массиву объектов

0

Как я могу изменить 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
Теги:

1 ответ

1
Лучший ответ

Вам не нужно перебирать коллекцию для установки css, jQuery делает это для вас:

$('#nav li').css('opacity','1');

Вы вызываете метод .css() на все ключи объекта jQuery, а не на фактические выбранные элементы, jQuery возвращает массив выделенных элементов, состоящий из jQuery, если вы хотите получить фактический массив элементов, вы можете используйте .get() и если вы хотите итерации по коллекции, вы можете просто использовать метод .each():

$('#nav li').each(function(index, element) {
   // ...
});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню