Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как в JS заменить часть ссылки? (+)

Дмитрий Корниенко Гуру (2695), открыт 1 неделю назад
Есть ссылка
 <a class="wa" href="https://wa.me/79281234567?text=Важный%20текст"> 
Есть функция, которая подставляет phone-info в ссылку, вместо ранее указанного телефона
 function subst_header(phone_info){     
document.querySelector('.wa').href = "https://wa.me/"+phone_info['phone']+"?text=заново%20написанный%20текст";
}
Вопрос:
Как сделать так, чтобы номер заменялся в ссылке, а текст нет?

То есть, чтобы text= не указывать заново, а сохранялся существующий
1 ответ
S.H.I. Оракул (69239) 1 неделю назад
Распарсить текущий href через встроенный объект URL, вытащить параметр text, а потом сформировать новую ссылку только с заменённым номером.

Примерно так (ES6+ вариант):
 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)}`;
}
Дмитрий КорниенкоГуру (2695) 1 неделю назад
Спасибо, чувак, не в бровь, а в глаз!
Похожие вопросы