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

Как изменить название кнопки Javascript в цикле?

n0bleman Ученик (19), на голосовании 1 месяц назад
Как поменять название кнопки по его id ? id опрпеделяет но имя не меняется
<script>
var buttons = document.getElementsByTagName('button');
for (var i = 0; i < buttons.length; i++) {
(function (i) {
buttons[i].onclick = function () {
alert("button " + i + " was clicked");
const button =

(i).innerHTML = 'Выполнение...';
}
}(i));
}
</script>
Голосование за лучший ответ
Павел Просветленный (25870) 2 месяца назад
Функция лишняя.
var древний оператор.
Здесь нонсенс:
 (i).innerHTML = 'Выполнение...';  
Правильный вариант:
 const buttons = document.getElementsByTagName('button'); 
for (let i = 0; i < buttons.length; i++) {
buttons[i].addEventListener('click', function () {
alert(`Button nr. ${i + 1} was clicked!`);
this.textContent = 'Выполнение...';
});
}
По какого года учебникам учитесь? let/const уже 10 лет скоро исполнится а вы всё ещё var пишите.?
front Гуру (2834) 2 месяца назад
В вашем коде есть небольшая ошибка в строке, где вы пытаетесь изменить текст кнопки. Вместо (i).innerHTML нужно использовать buttons[i].innerHTML. Вот исправленный код:
 <script> 
var buttons = document.getElementsByTagName('button');
for (var i = 0; i < buttons.length; i++) {
(function (i) {
buttons[i].onclick = function () {
alert("button " + i + " was clicked");
buttons[i].innerHTML = 'Выполнение...'; // Исправлено здесь
}
}(i));
}
</script>
Теперь, когда вы нажмете на кнопку, текст кнопки изменится на "Выполнение...".
Похожие вопросы