当我单击该框时,我需要更改分数,但只更改我单击的框,但现在它会更改循环中所有框的分数。我有group_id,单击了哪个框,但是,如何将这个group_id加入到text()函数中,或者有什么解决方案呢?

https://jsfiddle.net/9zx38y9g/2/

<div data-group="1" class="score">
   <!-- PHP loop -->
   <i data-nr="1" class="list"></i>
   <i data-nr="2" class="list"></i>
   <i data-nr="3" class="list"></i>
   <span class="list-score">25</span>
</div>

<div data-group="2" class="score">
   <!-- PHP loop -->
   <i data-nr="1" class="list"></i>
   <i data-nr="2" class="list"></i>
   <i data-nr="3" class="list"></i>
   <span class="list-score">18</span>
</div>

$('.list').click(function() {
   var group_id = $(this).closest('.score').data('group');
   $('.list-score').text(250);

});

最佳答案

您可以在父元素上下文中使用find()元素。

$('.list').click(function() {
    var score = $(this).closest('.score');
    score.find('.list-score').text(250);
    //var group_id = score.data('group');

    //.siblings() method can also be used
    $(this).siblings('.list-score').text(250);
});


Fiddle

关于javascript - 将data-id附加到文本功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37614418/

10-11 05:45