Rumah  >  Soal Jawab  >  teks badan

javascript - Acara klik ditambahkan pada teg dan saya mahu menambah gaya kelas pada teg dalam masa

Terdapat beberapa teg dalam teg span dan teg a dilaksanakan melalui ajax. Saya mahu menambah acara klik pada teg, menambah gaya kelas pada teg apabila dia mengklik dan memadamkan gaya kelas teg lain pada masa yang sama

ajax:

$.ajax({type:"post",url:"carbrand/findCarBrandHot",dataType:"json",success:function(data){
                var html="<a class='on' href='' rel='nofollow'>不限</a> ";
                    var listr = "";                        
                    for(var i = 0; i < data.length; i++){                
                            listr+="<a class=''  title=''  onclick='ch()'>"
                                    +data[i].brand_name+" </a>";                                    
                    } 
                    html+=listr;
                    $(".clikbr").html(html);
               }
        });

html:

<span class="clikbr"></span>

javascript:

 function ch(){
        //方法能触发
        //添加样式
        $(this).addClass("on");  //这种方法不行    
        $(this).addClass("hoverWidgetactive").siblings().removeClass("hoverWidget active");  //也实现不了,
        
        
    };

Nampaknya tag yang ditambahkan melalui ajax tidak dapat saya dapatkan

PHP中文网PHP中文网2686 hari yang lalu798

membalas semua(2)saya akan balas

  • ringa_lee

    ringa_lee2017-06-12 09:26:00

    Gunakan delegasi acara

    $('.clikbr').on('click', 'a', function() {
         $(this).addClass("on");    
         $(this).addClass("hoverWidgetactive").siblings().removeClass("hoverWidget active");  
    });

    balas
    0
  • 高洛峰

    高洛峰2017-06-12 09:26:00

    // Anda boleh menukarnya kepada ini

    $.ajax({type:"post",url:"carbrand/findCarBrandHot",dataType:"json",success:function(data){
                    var html="<a class='on' href='' rel='nofollow'>不限</a> ";
                        var listr = "";                        
                        for(var i = 0; i < data.length; i++){                
                                listr+="<a class=''  title=''  onclick='ch()'>"
                                        +data[i].brand_name+" </a>";                                    
                        } 
                        html+=listr;
                        $(".clikbr").html(html);
                        //必須在這裡給<a>標籤綁定事件
                        $(".clikbr a").on("click",function(){
                            $(this).addClass("on");  
                                                                          
                         
                         
           $(this).addClass("hoverWidgetactive").siblings().removeClass("hoverWidget active");
                        });
                   }
            });

    balas
    0
  • Batalbalas