Jquery 使用closest()和$(this)选择元素

Jquery 使用closest()和$(this)选择元素,jquery,Jquery,我最近才开始学习jquery,我正在尝试使用nestest()方法和$(this)查找最近的类“ion-loading-c”,并向其中添加一个类。我没有犯错误,所以我不确定我做错了什么。这是我的javascipt: $(function(){ $('.ion-plus').click(function(e) { $(this).closest('.ion-loading-c').addClass('blue'); }); }); 这是我的HTML: <i class=

我最近才开始学习jquery,我正在尝试使用
nestest()
方法和
$(this)
查找最近的类“ion-loading-c”,并向其中添加一个类。我没有犯错误,所以我不确定我做错了什么。这是我的javascipt:

$(function(){
  $('.ion-plus').click(function(e) {
      $(this).closest('.ion-loading-c').addClass('blue');
  });
});
这是我的HTML:

<i class="icon ion-loading-c"></i>

<a href="{{ URL::route('purchase') }}/{{ $i->id }}">
    <span class="text-content">
        <div class="image-row">
            <i class="icon ion-plus ion-icon-add"></i>
            <i class="icon ion-heart ion-icon-add"></i>
        </div>
        <div id="id" class="hidden cart-add-ajax">{{ $i->id }}</div>
        <div class="image-row image-text">
            <span>{{ $i->item }}</span>
        </div>
    </span>
</a>

这是因为
.ion-loading-c
没有直接关系。ion plus
-使用
最近的
上一个

$('.ion-plus').click(function(e) {
    $(this).closest('a').prev(".ion-loading-c").addClass('blue');
});

我不知道这是否能解决你的问题

$(function(){
  $('.ion-plus').click(function(e) {
    var $this;
    $this = $(this);
    if ($this.has(".ion-loading-c")) {
      return $(this).closest('.ion-loading-c').addClass('blue');
  });
});

其中是类为“
”的元素。ion-loading-c
对此表示抱歉。由于某种原因,这一行出现在我插入的html的顶部,而没有出现在帖子中……奇怪,非常感谢!!!!!我在这个问题上压力太大了!你让我开心!如何用另一个类替换该类,如本例所示:$('.dataItem').removeClass('ready').addClass('waiting');您知道如何用另一个类替换该类吗?如本例所示:$('.dataItem').removeClass('ready').addClass('waiting')$(function(){$('.dataItem')。单击(function(e){var$this;$this=$(this);if($this.has(“.dataItem”){return$(this.removeClass('ready')).addClass('waiting');});});