Подстрока в jQuery

0

Я пытаюсь преобразовать все ссылки фрагмента в относительные, удалив ведущее #, но следующее не будет выполняться:

$('a[href^=#]').attr('href', $(this).attr('href').substring(1));

Если я заменил $(this).attr('href').substring(1) с $(this).attr('href')+'test' или 'test'+'TEST'.substring(1) он запускается, Что не так с $(this).attr('href').substring(1)?

Теги:
substring

1 ответ

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

Ваш $(this) не относится к тегу <a> найденному вашим селектором, а не текущей области кода. Вместо этого вам нужно использовать функцию перегрузки attr:

$('a[href^=#]').attr('href', function(i, attr) {
    return attr.substring(1);
});

Ещё вопросы

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