По нажатию на кнопку изменять число
Добрый вечер! Я совсем еще новичок, поэтому просьба доступно обьянить или ткнуть где прочитать. Подскажите пожалуйста, что не так с кодом? Само значение элемента выводится, но при нажатии на кнопку + появляется ошибка.(undefined). почти тот же код работает если элемент count заменить на id , и обращаться getElementById. Но так как подобных элементов несколько заменила на класс и все(
<input name="plus" type="button" value="+" onclick="addNum()"> <p class="count">1</p> if (document.getElementsByClassName('count')!==null) { var elem = document.getElementsByClassName('count'); for (var i = 0; i < elem.length; i++) { elem[i] = elem.innerHTML; console.log(elem[i].innerHTML); var num = +elem[i].innerHTML; function addNum() { num++; elem[i].innerHTML = num; } } } |
r1sus,
<!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> </head> <body> <input class="plus" type="button" value="+" > <p class="count">1</p> <input class="plus" type="button" value="+" > <p class="count">1</p> <script> window.addEventListener('DOMContentLoaded', function() { var p = document.querySelectorAll('.count'); [].forEach.call(document.querySelectorAll('.plus'), function(input,i) { input.addEventListener('click', function() { p[i].innerHTML -= -1 }); }); }); </script> </body> </html> |
рони,
Спасибо большое за такой быстрый ответ. Ваше решение прекрасно работает, но к сожалению, оно не родилось у меня в голове . подскажите ход моих мыслей совсем неверный? вы не могли бы хоть намекнуть что я делаю не так? спасибо за понимание |
r1sus,
по вашему коду: функция в onclick, должна сама догадатся, какая она по счёту |
рони,
спасибо! |
|
Coriolan161,
Спасибо за предложенное решение! Более понятное для меня решение |
Coriolan161,
У меня была задача избавится от id, так как на странице несколько count и у каждого есть кнопка +. Но все равно большое спасибо за участие |
Помогите пожалуйста, как кнопке прописать это значение <span id="numberPlus">0</span> :help:
|
anna4, попробуй еще раз. )
|
Часовой пояс GMT +3, время: 22:28. |