【发布时间】:2020-06-01 15:42:13
【问题描述】:
我是 Javascript 的初学者。点击后,数字应增加一。我不想在这里使用标签 ID,但好像是在课堂上制作的。
我想在这里为您简要介绍一下 ClapsCounter。拍手点击存储在相应的 _ClapsCounter.txt 文件中,投票存储在浏览器 localStorage 中作为“applaudiert”。单击计数器以增加具有“ClapsCounterCount”类的所有 div 的值。
let clicks = document.querySelectorAll('.ClapsCounterTrigger');
let count = Array.from(document.querySelectorAll('.ClapsCounterCount'));
let TxtContainer = Array.from(document.querySelectorAll('.ClapsCounterTxtContainer'));
let beforClick = "<span class=\"muted italic\">Applaudieren Sie diesen Artikel</span>";
let afterClick = "<span class=\"success italic\">Danke für Ihren Applaus!</span>";
let alreadyClick = "<span class=\"warning italic\">Danke, Sie haben schon applaudiert!</span>";
let i;
TxtContainer.forEach(i => i.innerHTML = beforClick);
// something wrong here!?
// take the current number from the .ClapsCounterCount
let plus = count.forEach(i => i.innerHTML);
for (let i = 0; i < clicks.length; i++) {
clicks[i].onclick = function () {
// after the click increase the current click number with 1
count.forEach(i => i.innerHTML = ++plus);
TxtContainer.forEach(i => i.innerHTML = afterClick);
}
}
<div class="ClapsCounter">
<h4>View @media (min-width: 960px)</h4>
<p><span class="ClapsCounterCount">123<!-- '.$count.' --></span> <span>Applause erhalten</span></p>
<p class="ClapsCounterTxtContainer"></p>
<button class="ClapsCounterTrigger">Count +1 Button</button>
</div>
<div class="ClapsCounter large">
<h4>View @media (min-width: 1200px)</h4>
<p><span class="ClapsCounterCount">123<!-- '.$count.' --></span> <span>Applause erhalten</span></p>
<p class="ClapsCounterTxtContainer"></p>
<button class="ClapsCounterTrigger">Count +1 Button</button>
</div>
这些行错了!?
// something wrong here!?
// take the current number from the .ClapsCounterCount
let plus = count.forEach(i => i.innerHTML);
// after the click increase the current click number with 1
count.forEach(i => i.innerHTML = ++plus);
点击前的预期输出
123
点击后的预期输出
124
更新和解决:
感谢您来自T.J. Crowder 的answer。
线
count.forEach (i => i.innerHTML = ++ plus);
加上这个
count.forEach (element => element.innerHTML = parseInt (element.innerHTML, 10) + 1);
解决了我的问题。
【问题讨论】:
-
innerHTML 是一个字符串,而不是一个数字,不确定
let plus = count.forEach(i => i.innerHTML);应该做什么。 forEach 没有返回计数。我想你想减少
标签: javascript