Я разрабатываю функцию javascript, чтобы выделить ярлык в прокручиваемом списке и прокручивать его; подсветка и прокрутка в порядке.Jquery removeClass не работает должным образом
Проблема заключается в том, что я также хочу «де-подсветить» ранее выпущенные ярлыки, если они есть (для будущих поисков). Чтобы подчеркнуть, я добавляю класс css, чтобы отключить выделение, я использую removeClass из jQuery, чтобы удалить класс css, если он существует; но по какой-то причине это не работает. Это моя функция:
$('.targetUserName').each(function() {
index++;
s = this.innerHTML.toString().toLowerCase().match(regex);
if(s != null) {
$(this).attr('class', 'current');
foundUsers++;
if (foundUsers == 1 && index > 10)
$('#usersDiv').scrollTop(index * height);
}
else if ($(this).hasClass('current'))
$(this).removeClass('current'); //this is not working
});
Проверьте свои $ (это), чтобы убедиться, что это вы действительно ищете. – zmanc
Откуда вы знаете, что это не работает? Также: нет необходимости вызывать '.toString()' значение 'innerHTML'; это всегда строка. Используйте '.addClass()' для добавления класса. Объявить локальные переменные с помощью 'var'. – Pointy
Возможный дубликат: http://stackoverflow.com/questions/2482753/removeclass-jquery-statement-not-working – hima