Как заменить символы?

Рейтинг: 0Ответов: 1Опубликовано: 31.01.2023

Как заменить символ в ссылках? Пробую вот так, но он просто убирает символ, при символе # все ок

document.querySelectorAll('a').forEach(a => { 
   a.href = a.href.replace(/@/, "123")
})
a {
  pointer-events: none;
}

a::before {
  content: attr(href);
}
<a href="https://@test"></a>

Ответы

▲ 0

Тег <a> это тег для якорей. Аттрибут href у него должна быть ссылкой. Если вы задаете кривую ссылку в аттрибут href, она по возможности будет исправлена.

document.querySelector(`button#fix`).addEventListener(`click`, (event) => {
  document.querySelectorAll(`a`).forEach((a) => {
    a.href = a.href;
  })
});
a {
  pointer-events: none;
}

a::before {
  content: attr(href);
}
<a href="https://@test"></a><br/>
<button id="fix">Fix</button>

И тут replace(/@/, "123") не при чем.