在链接中查找css类

时间:2014-06-13 08:08:01

标签: jquery

我想用jQuery替换link元素中的类。

例如,在以下代码中,点击链接.myclass,我想用icon1更改icon2

<a class="myclass" href="#"><i class="icon icon1"></i></a>

我不知道怎样才能找到并触及班级icon1。 我尝试这个并不起作用:

$('.myclass').click(function(){
    $(this).html().removeClass('icon1').addClass('icon2');    
 });

6 个答案:

答案 0 :(得分:3)

 $('.myclass').click(function(){
    $(this).find('.icon1').removeClass('icon1').addClass('icon2');    
 });

答案 1 :(得分:3)

应该有

$('.myclass').click(function(){
    $(this).find('.icon1').removeClass('icon1').addClass('icon2');    
 });

您必须引用要更改的类的元素。

答案 2 :(得分:2)

<强> Demo

使用此,

$('.myclass').click(function(e){
    e.preventDefault();
    $('i',this).removeClass('icon1').addClass('icon2');   

     //or

    $('.icon1',this).removeClass('icon1').addClass('icon2');
});

.find()

$('.myclass').click(function(e){
    e.preventDefault();
    $(this).find('.icon1').removeClass('icon1').addClass('icon2');    
});

注意:

下次点击链接时,$('.icon1')无效。因此,请尝试使用$('i')$('.icon')

答案 3 :(得分:2)

由于.icon1是当前元素的子元素,因此您必须在当前元素上使用.find() / .children()来查找它。

尝试,

$('.myclass').click(function(){
   $(this).find('.icon1').removeClass('icon1').addClass('icon2');    
});

答案 4 :(得分:2)

看这里:jsbin

$('.myclass').click(function(){
        $(this).children().removeClass('icon1').addClass('icon2');    
     });

答案 5 :(得分:1)

$('.myclass').click(function(e){
    e.preventDefault();
    $(this).find('i').removeClass('icon1').addClass('icon2');   
});

jsfiddle