6мес



Программирование
+3Как в JS заменить часть ссылки? (+)
Есть ссылка
1
<a class="wa" href="https://wa.me/79281234567?text=Важный%20текст">
Есть функция, которая подставляет phone-info в ссылку, вместо ранее указанного телефона
123
function subst_header(phone_info){
document.querySelector('.wa').href = "https://wa.me/"+phone_info['phone']+"?text=заново%20написанный%20текст";
}
Вопрос:
Как сделать так, чтобы номер заменялся в ссылке, а текст нет?
То есть, чтобы text= не указывать заново, а сохранялся существующий
По дате
По рейтингу
Распарсить текущий href через встроенный объект URL, вытащить параметр text, а потом сформировать новую ссылку только с заменённым номером.
Примерно так (ES6+ вариант):
1234567
function subst_header(phone_info) {
const linkEl = document.querySelector('.wa');
const url = new URL(linkEl.href);
const currentText = url.searchParams.get('text') || '';
linkEl.href = `https://wa.me/${phone_info.phone}?text=${encodeURIComponent(currentText)}`;
}