我想获得第二个div(总价),而不是第一个div。
此外,我想向div添加一个$符号,但是当它尝试将数据转换为Int时,显然“ $”会导致错误。 我为此有一个解决方法,但是无论如何有串联的$吗?
非常感谢。
<!-- Product #1 -->
<div class="item">
<div class="quantity">
<button class="plus-btn" type="button" name="button">
</button>
<div class="total-price">22</div> <!--I dont want this one -->
</div>
<div class="total-price">22</div> <!--I want to access this div -->
</div>
jQuery
$('.plus-btn').on('click', function(e) {
e.preventDefault();
//Increase cost
var $this = $(this);
var $cost = $this.closest('div').find('div');
var costValue = parseInt($cost.html());
costValue += costValue;
$cost.html(costValue);
});
答案 0 :(得分:3)
$('.plus-btn').on('click', function(e) {
e.preventDefault();
var $this = $(this);
var $cost = $this.closest('.quantity').siblings('.total-price');
var costValue = parseInt($cost.html());
costValue += costValue;
$cost.html(costValue);
});
答案 1 :(得分:1)
按钮上的closest('div')
是您不需要的div。
您可以简单地遍历DOM树的上一层并到达父级div
,然后在其同级中找到'.total_price'
。
$('.plus-btn').on('click', function(e) {
e.preventDefault();
var $this = $(this);
var $cost = $this.parent().siblings('.total-price');
var costValue = parseInt($cost.html());
costValue += costValue;
$cost.html(costValue);
});