在此<div>之外获取<div>

时间:2019-10-02 04:11:45

标签: javascript jquery

我想获得第二个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);
                });

2 个答案:

答案 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);
 });