По нажатию на кнопку изменять число
Добрый вечер! Я совсем еще новичок, поэтому просьба доступно обьянить или ткнуть где прочитать. Подскажите пожалуйста, что не так с кодом? Само значение элемента выводится, но при нажатии на кнопку + появляется ошибка.(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, время: 13:37. |