jQuery hide元素,在其中加载Ajax,然后显示元素

时间:2011-05-04 15:51:49

标签: jquery

我正在尝试隐藏一个元素,然后在用ajax load()隐藏它时替换它的内容,并且作为回调,我想再次显示该元素。不幸的是,在请求完成后,回调有点被忽略:元素不会再次显示。

这是我的代码,希望我的问题很明确:

//element is visible
$("#play").hide();//element becomes hidden
$("#play").load("page", function(data){
    $("#play").show();//element should be visible again, but it isn't
});

2 个答案:

答案 0 :(得分:0)

你的代码是对的。进行Ajax调用时发生错误。

  • 您确定自己的网址是否正确?
  • 使用GET方法的
  • load请求,您的服务器脚本是否允许GET?
  • 您确定服务器端没有任何错误吗?如果发生这种情况,您的回调将无法执行。

在内部函数中添加“警报”将显示请求是否成功:

$("#play").load("page", function(data){
    alert('success');
    $("#play").show();//element should be visible again, but it isn't
});

我希望这会有所帮助。

答案 1 :(得分:0)

网址“page”也可能包含ID为“play”的元素。尝试将$("#play")存储在变量中。

//element is visible
var $play = $("#play");
$play.hide();//element becomes hidden
$play.load("page", function(data){
    $play.show();//element should be visible again, but it isn't
});