Javascript 计算()count.forEach(i=>;i.innerHTML=+;1+;thx)?
我是Javascript的初学者。单击后,该数字应增加1。 我不想在这里使用标记ID,但好像是在类中创建的Javascript 计算()count.forEach(i=>;i.innerHTML=+;1+;thx)?,javascript,Javascript,我是Javascript的初学者。单击后,该数字应增加1。 我不想在这里使用标记ID,但好像是在类中创建的 let clicks=document.querySelectorAll('.counterprigger');//IE8 let count=Array.from(document.querySelectorAll('.counter'); let please=Array.from(document.queryselectoral('.countprease'); let pleas
let clicks=document.querySelectorAll('.counterprigger');//IE8
let count=Array.from(document.querySelectorAll('.counter');
let please=Array.from(document.queryselectoral('.countprease');
let pleaseTxt=“单击!请单击!”;
让我;
让thx=“点击!谢谢!”;
please.forEach(i=>i.innerHTML=pleaseTxt);
for(设i=0;ii.innerHTML=+plus+thx);
forEach(i=>i.innerHTML=“”);
}
}
按钮
1.
您可以使用i.innerHTML.match(/\d+/)[0]
从innerHTML
中检索number
值。使用+
作为前缀
,以便将其转换为数字
。然后添加1
和附加thx
您只需要更新一行代码,即count.forEach(i=>i.innerHTML=(+i.innerHTML.match(/\d+/)[0])+1)+thx)代码>
您可以检查下面的输出
let clicks=document.querySelectorAll('.counterprigger');//IE8
let count=Array.from(document.querySelectorAll('.counter');
let please=Array.from(document.queryselectoral('.countprease');
let pleaseTxt=“单击!请单击!”;
让我;
让thx=“点击!谢谢!”;
please.forEach(i=>i.innerHTML=pleaseTxt);
for(设i=0;ii.innerHTML=(+i.innerHTML.match(/\d+/)[0])+1)+thx);
forEach(i=>i.innerHTML=“”);
}
}
按钮
1.
您可以使用i.innerHTML.match(/\d+/)[0]
从innerHTML
中检索number
值。使用+
作为前缀
,以便将其转换为数字
。然后添加1
和附加thx
您只需要更新一行代码,即count.forEach(i=>i.innerHTML=(+i.innerHTML.match(/\d+/)[0])+1)+thx)代码>
您可以检查下面的输出
let clicks=document.querySelectorAll('.counterprigger');//IE8
let count=Array.from(document.querySelectorAll('.counter');
let please=Array.from(document.queryselectoral('.countprease');
let pleaseTxt=“单击!请单击!”;
让我;
让thx=“点击!谢谢!”;
please.forEach(i=>i.innerHTML=pleaseTxt);
for(设i=0;ii.innerHTML=(+i.innerHTML.match(/\d+/)[0])+1)+thx);
forEach(i=>i.innerHTML=“”);
}
}
按钮
1.
关于您的问题,有两个方面,首先是+
的用法:
操作符+
在Javascript中可能有点棘手。在用于连接字符串的同时,它还用于。一个很好的例子是,如果您有一个字符串“1”
,并应用+
,如+“1”
,这将成为1
,一个数字
,而不是它原来的字符串
类型。如果您写入1+“7”
,这将变成“17”
,因为将应用串联
其次是你报告的问题。如果我没弄错的话,你的想法是每次点击按钮时增加计数器。但是,如果检查代码,则每次单击按钮时,都会出现一个运行匿名函数的onclick
事件
单击[i].onclick=function(){
设+1;
count.forEach(i=>i.innerHTML=+plus+thx);
forEach(i=>i.innerHTML=“”);
}
如果仔细检查,每次单击plus
时,变量总是以1
启动。为了在每次单击时增加该值,您必须找到一种策略,在单击事件中修改其值,而不是总是声明它
最简单的方法是在函数外部声明变量,例如:
let plus=1;
单击[i]。onclick=函数(){
count.forEach(i=>i.innerHTML=plus+thx);
forEach(i=>i.innerHTML=“”);
}
根据问题的不同,您还可以使用最适合的数组或其他数据结构来跟踪多个加值,但其背后的思想是相同的:您需要访问当前值,增加它并存储它以供下次使用。关于您的问题,有两个方面,首先是+
的用法:
操作符+
在Javascript中可能有点棘手。在用于连接字符串的同时,它还用于。一个很好的例子是,如果您有一个字符串“1”
,并应用+
,如+“1”
,这将成为1
,一个数字
,而不是它原来的字符串
类型。如果您写入1+“7”
,这将变成“17”
,因为将应用串联
其次是你报告的问题。如果我没弄错的话,你的想法是每次点击按钮时增加计数器。但是,如果检查代码,则每次单击按钮时,都会出现一个运行匿名函数的onclick
事件
单击[i].onclick=function(){
设+1;
count.forEach(i=>i.innerHTML=+plus+thx);
forEach(i=>i.innerHTML=“”);
}
如果仔细检查,每次单击plus
时,变量总是以1
启动。为了在每次单击时增加该值,您必须找到一种策略,在单击事件中修改其值,而不是总是声明它
最简单的方法是在函数外部声明变量,例如:
let plus=1;
cli