在一個span標籤裡面有多個a標籤,a標籤是透過ajax實現的。想在a標籤裡面新增點擊事件,在他點擊的時候給這個a標籤添加類別樣式 ,同時刪除其他a標籤類別樣式
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"); //也实现不了,
};
似乎透過ajax新增的標籤取得不到,不知道怎麼取得標籤
ringa_lee2017-06-12 09:26:00
使用事件委派
$('.clikbr').on('click', 'a', function() {
$(this).addClass("on");
$(this).addClass("hoverWidgetactive").siblings().removeClass("hoverWidget active");
});
高洛峰2017-06-12 09:26:00
//你可以改成這樣
$.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");
});
}
});