当我单击“喜欢”按钮时,增量值会增加,但它不会随着按钮的增加而相应地工作。会怎么做?索引.html<div class="row"> <div class="col-md-4"> <i class="fa fa-thumbs-up" onclick="count(this, '{{datas.id}}', '{{datas.user_id}}')" id="odd"> </i> <span id="add"></span> </div> <div class="col-md-4"></div> <div class="col-md-4 text-right">{{datas.post_date}}</div></div>收件箱.jsvar counter=0;function count(id, data, out){ counter++; var one = id.closest('.card-body'); one.querySelector('#add').innerHTML = counter; }像按钮递增但不是从 1 开始它从前一个数字开始
1 回答
守着星空守着你
TA贡献1799条经验 获得超8个赞
你不能依赖全局计数器。您需要有每个项目的特定计数器。您可以采用的一种方法是在节点本身上添加数据属性并在每次单击时更新,例如:
function count(id, data, out) {
const counter = parseInt(this.getAttribute("data-counter") || 0) + 1; // read current counter
this.setAttribute("data-counter", counter); // update counter
var one = id.closest('.card-body');
one.querySelector('#add').innerHTML = counter;
}
<div class="row">
<div class="col-md-4">
<i class="fa fa-thumbs-up" data-counter="0" onclick="count(this, '{{datas.id}}', '{{datas.user_id}}')" id="odd"></i>
<span id="add"></span>
</div>
<div class="col-md-4"></div>
<div class="col-md-4 text-right">{{datas.post_date}}</div>
</div>
添加回答
举报
0/150
提交
取消