$(document).on('click', '.form-item-sort-bef-combine', function(){
$(this).addClass('selected-link');
});
它可以工作,但是当我点击链接时,类会被添加一秒,然后在ajax刷新后消失。似乎$(this)在ajax之后停止工作。 有什么想法吗?
答案 0 :(得分:1)
$(document).on('click', '.form-item-sort-bef-combine', function(){
$('.form-item-sort-bef-combine').addClass('selected-link');
});
也许这会解决你的问题
<强> EDITED 强>
var tmp;
$(document).on('click', '.form-item-sort-bef-combine', function(){
tmp = $(this).attr('class');
});
$.ajax({
url: 'url',
type: 'GET',
data: data,
success: function(data) {
...
},
complete: function() {
$('.' + tmp).addClass('selected-link');
}
});
答案 1 :(得分:0)
与其他人提到的一样,我认为我们可能需要更多信息才能弄清楚发生了什么。
在切换到简单的NativeJS之后,我还没有真正使用过jQuery ..但是我觉得这样的东西可能会工作吗?
$('body').on('click', '.form-item-sort-bef-combine', function(){
$(this).addClass('selected-link');
});
而不是$('body'),您可以尝试使用父选择器,例如$('#form-wrapper'),或者代码中可能包含的任何内容。
您的代码看起来正确..但也许 $(文档)在此上下文中不起作用?
希望这有帮助
祝你好运
答案 2 :(得分:0)
您可以在done()
提供的$ajax
功能或更新DOM 后的success()
功能中执行此操作。
在done()
函数中执行此ajax
函数应如下所示:
$.ajax({
type:'POST',
url:'/whatever',
success:function(data){
//update your DOM here
}
}).done(function(){
//add your class here
$(".form-item-sort-bef-combine").addClass('selected-link');
});