Javascript 单击事件时无法更新文本

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:

<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()*数量;