BormotunJedy
@BormotunJedy
Верстальщик

Как изменить значение конкретного data-param через JS?

Есть код кнопки в Битриксе:
<span class="btn-lg to-order btn btn-default animate-load has-ripple" data-event="jqm" data-param-form_id="TOORDER" data-name="toorder" ...><i class="svg inline  svg-inline-fw ncolor colored" aria-hidden="true" title="Под заказ"><svg ...><path data-name="Rounded ..."></path></svg></i><span>Под заказ</span></span>

Этой формы вообще не существует. И нужно изменить это значение: data-param-form_id="19" и data-name="feedback".
Удалить этот компонент со страницы не получится, напрямую прописать в html тоже не выйдет.
Где-то читала, что это можно сделать через JS, но я в нем полный нуб и из сотен статей в мозгу формула не укладывается.
Можете подсказать, что надо написать в скрипте, что изменить этот конкретный атрибут?
  • Вопрос задан
  • 81 просмотр
Решения вопроса 1
@PetrPo
Вариант без jQuery
BX.ready(function() {
	var toorderButton = document.querySelector('[data-param-form_id="TOORDER"]');
	if(toorderButton) {
		toorderButton.setAttribute('data-param-form_id', '19');
		toorderButton.setAttribute('data-name', 'feedback');
	}
});


P.S.
работать будет правильно, если на странице 1 такая кнопка

UPD
Если кнопок несколько и надо у всех поменять, то немного по-другому будет, если надо напишу код
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@julheer
Full-stack разработчик на Python, JavaScript
Импортируйте JQuery, и затем присвойте span'у класс 'order', и напишите код:
$('.order').data('param-form_id',  'новое значение'); 
$('.order').data('name',  'новое значение');

Если я Вас правильно понял.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы