我最近才开始学习jquery,并且我尝试使用closest()
方法和$(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>
答案 0 :(得分:2)
这是因为.ion-loading-c
与.ion-plus
没有直接关系 - 使用closest
和prev
:
$('.ion-plus').click(function(e) {
$(this).closest('a').prev(".ion-loading-c").addClass('blue');
});
答案 1 :(得分:0)
我不知道这是否能解决您的问题
$(function(){
$('.ion-plus').click(function(e) {
var $this;
$this = $(this);
if ($this.has(".ion-loading-c")) {
return $(this).closest('.ion-loading-c').addClass('blue');
});
});