0
$(".paginate li").click(function(){
    $(this).attr('class','current');    
    $("#ajax_results").load("test.php?page=" + $(this).attr('rel')).fadeIn();
});

上面的代码是一个分页脚本。当用户单击分页 <li> 时,AJAX 脚本会根据 rel 值触发请求。我遇到的问题是:

$(this).attr('class','current');

它适用于短暂的一秒钟,然后消失。理想情况下,它将对单击的 <li> 应用一类“当前”并保留。我不确定为什么在应用后立即将其删除。

4

1 回答 1

0

我已经解决了自己的问题,并认为我会发布解决方案。在查看代码之后,很明显添加类的问题在于,$(this)一旦进行 AJAX 调用,就不再定义该类了。可能有一个更优雅的解决方法,但我所做的如下:

$(".paginate li").click(function(){
    var rel = $(this).attr('rel');

    $("#ajax_results").load("/ajax.php?id=" + $(this).attr('rel'), function(response, status, xhr) {
        if (status == "success") {
            $("li[rel="+rel+"]").addClass('current');
        }
    });
});

我声明rel为的值,$(this).attr('rel')然后在成功时将addClass()函数传递给相关项。完美运行。

于 2012-11-06T13:54:25.330 回答