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

jQuery隐藏元素,在其中加载Ajax,然后显示元素,jquery,Jquery,我试图隐藏一个元素,然后在它隐藏时用ajaxload()替换它的内容,作为回调,我想再次显示该元素。不幸的是,在请求完成后,回调被忽略了:元素不再显示 这是我的代码,希望我清楚我的问题: //element is visible $("#play").hide();//element becomes hidden $("#play").load("page", function(data){ $("#play").show();//element should be visible ag

我试图隐藏一个元素,然后在它隐藏时用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
});

你的代码是对的。进行Ajax调用时出错

  • 你确定你的URL是正确的吗
  • 使用GET方法加载请求,您的服务器脚本是否允许GET
  • 您确定服务器端没有任何错误吗?如果发生这种情况,您的回调将不会执行
在内部函数中添加“警报”可以显示请求是否成功:

$("#play").load("page", function(data){
    alert('success');
    $("#play").show();//element should be visible again, but it isn't
});
我希望这会有所帮助。

url“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
});

URL是否包含ID为“play”的元素(如果包含,则可能导致此问题)?。无论响应状态My request是否成功,都会执行load()回调。因此,
#play
包含从ajax请求的内容,但它仍然不可见。不幸的是,同样的问题。但是我很确定URL和ID之间没有任何冲突。