JQuery. Считать элементы с нужного класса и присвоить анимацию для mouseover

Прошу помочь с простым примером.

for(var ind = 0, items = $('#menu #links a'); ind < items.length; ind++) {
items[ind].mouseover(function(items) {
    items[0].animate({ color: red }, 250);
});

}

Что выдаёт скину в скрине, сам переводил в гугл tra. - неразбириха. введите сюда описание изображения


Ответы (1 шт):

Автор решения: frozencoast

Если пытаться сохранить логику вашего кода:

// Выбираем элементы: нет смысла использовать более одного уникального ID в селекторе
let $items = $('#links a');

// Верхний порог цикла равен количеству элементов, а не самой их коллекции
for (let ind = 0, items = $items.length; ind < items; ind++) {
  // Событие назначается элементу согласно индексу цикла, 
  // в вашем же коде - всегда первому элементу в коллекции
  $items.eq(ind).mouseover(function() {
    // Анимация цвета в jQuery из коробки не работает
    // требуется плагин jQuery UI или альтернатива
    $(this).animate({
      color: 'red' // Название цвета в кавычках - все таки это строка
    }, 250);
  });
}

Более верная альтернатива вашему коду

$('#links a').on('mouseover', function() {
  $(this).animate({ color: 'red' }, 250);
});
→ Ссылка