2017-04-17 67 views
1

我想在点击链接时使用加载图标更改图标。 这发生在php/html代码中的foreach循环中。jQuery适用于php循环中的第一个元素

jQuery工作正常,但只在第一个结果。在其他结果中,它不起作用。

HTML:

<p id= "like"> 
    <a href="..Link" id="like" class="external"><i class="icon-thumbs-up"></i></a> 
</p> 

的jQuery:

$("#like").click(function() { 
    $("#like").toggle('1000'); 
    $("i", this).toggleClass("icon-loading3"); 
       }); 

所有我想要做的就是更改类的图标,竖起大拇指图标loading3 和移除链接!

感谢您的帮助;)

+1

而不是'id'使用'class' –

+0

使用class而不是id,而不是简单的点击使用$(document).on(“click”,“selector”,function(){})我的回答 –

回答

0

这应该很好地工作:

$(".external").click(function(){ 
    $(this).find("i").addClass("icon-loading3").removeClass('icon-thumbs-up'); 
    $(this).parent().html($(this).html()); 
}) 
+0

所有的答案都很棒,但你的作品对我来说是最好的! –

0

看在HTML ids and classes,重命名ID = “喜欢” 类= “一样,主要 ” 或者熟悉的东西。

行为是正确的,因为DOM只存储具有给定ID的第一个值。

0

的变化ID类像下面

HTML:

<p class= "like"> 
    <a href="..Link" class="like" class="external"><i class="icon-thumbs-up"></i></a> 
</p> 

的jQuery:

$(".like").click(function() { 
    $(".like").toggle('1000'); 
    $("i", this).toggleClass("icon-loading3"); 
       }); 
0

,如果你正在使用它然后使用class不是id。在一个页面上,每个元素应该有唯一的ID。

所以请去做喜欢:

<p class="like"> 
    <a href="..Link" class="anchor_like" class="external"><i class="icon-thumbs-up"></i></a> 
</p> 

$(document).on('click','.like',function() { 
    $(this).toggle('1000'); 
    $(this).find('i').toggleClass("icon-loading3"); 
}); 
0

你的答案全部是惊人的。 diavolic的答案对我来说效果最好! ;)

相关问题