Javascript 单击事件时无法更新文本
我有一个带加号和减号按钮的div:Javascript 单击事件时无法更新文本,javascript,jquery,html,Javascript,Jquery,Html,我有一个带加号和减号按钮的div: <div class="col"> <i class="minus"></i> <i class="qt">1</i> <i class="plus"></i> </div> 然而,按下什么按钮并不重要,什么都不会发生 你能帮忙吗 显示我的问题的小提琴:您可以使用.next()和prev()以数量文本为目标: $( document ).o
<div class="col">
<i class="minus"></i>
<i class="qt">1</i>
<i class="plus"></i>
</div>
然而,按下什么按钮并不重要,什么都不会发生
你能帮忙吗
显示我的问题的小提琴:您可以使用.next()
和prev()
以数量文本为目标:
$( document ).on( "click", ".minus", function() {
var quantity = $(this).next().text(parseInt($(this).next().text())-1);
});
$( document ).on( "click", ".plus", function() {
var quantity = $(this).prev().text(parseInt($(this).prev().text())+1);
});
您可以使用.next()
和prev()
以数量文本为目标:
$( document ).on( "click", ".minus", function() {
var quantity = $(this).next().text(parseInt($(this).next().text())-1);
});
$( document ).on( "click", ".plus", function() {
var quantity = $(this).prev().text(parseInt($(this).prev().text())+1);
});
您没有正确分配回文本值 您需要调用.text作为函数:
$(this).closest("ul").find("i.qt").text(a);
修复了示例-您没有正确分配回文本值 您需要调用.text作为函数:
$(this).closest("ul").find("i.qt").text(a);
修复了示例-您实际上没有更新文本 如果您更换以下线路,它将起作用:
$(this).closest("ul").find("i.qt").text-a;
// ...
$(this).closest("ul").find("i.qt").text+a;
与:
你实际上并没有更新文本 如果您更换以下线路,它将起作用:
$(this).closest("ul").find("i.qt").text-a;
// ...
$(this).closest("ul").find("i.qt").text+a;
与:
根据我对OP的理解,以下是您应该考虑的解决方案
$(document).on( "click", ".minus,.plus", function() {
var quantity = $(this).siblings('.qt').text();
var a = parseInt(quantity);
if($(this).hasClass('minus'))
a-=1;
else
a+=1;
$(this).siblings('.qt').text(a);
});
如果你有任何问题,请告诉我
根据我对OP的理解,以下是您应该考虑的解决方案
$(document).on( "click", ".minus,.plus", function() {
var quantity = $(this).siblings('.qt').text();
var a = parseInt(quantity);
if($(this).hasClass('minus'))
a-=1;
else
a+=1;
$(this).siblings('.qt').text(a);
});
如果你有任何问题,请告诉我
同样,如果我需要更新数量,为什么这不起作用$(此).最接近的(“ul”).find(“div.price”).text()*数量;同样,如果我需要更新数量,为什么这不起作用$(此).最接近的(“ul”).find(“div.price”).text()*数量;