jQuery Ajax从/到特定DIV的转换
我当前的代码呈现完整的HTML输出,而实际上我只需要某个DIV的内容,然后我希望结果淡入jQuery Ajax从/到特定DIV的转换,jquery,html,ajax,Jquery,Html,Ajax,我当前的代码呈现完整的HTML输出,而实际上我只需要某个DIV的内容,然后我希望结果淡入 $(function(){ setInterval(function(){ $.ajax({ url: "url", cache: false, dataType: "html" }) .done(function( html ) { $( "#destination" ).html( html ); });
$(function(){
setInterval(function(){
$.ajax({
url: "url",
cache: false,
dataType: "html"
})
.done(function( html ) {
$( "#destination" ).html( html );
});
},1000);
});
编辑:我正在寻找一种方法来使用
$.ajax
,而不是.load
或$。获取,因为我试图对ajax有一个更低级的理解。如果您只想加载某个div的内容,您的url
参数应该如下:
url:“/somePage.html#someDiv”
查看更多信息
编辑
好吧,你从没说过要运行其他脚本。在这种情况下,上述方法将不起作用
你现在能做的就是把你得到的东西倒进一个隐藏的容器里,然后抓取你需要的东西并淡入
.done(function(data) {
$("#someContainerSetToDisplayNone").html(html);
$("#destination").empty().append("#someDiv");
});
这花了我一点时间,但在开发一个解决方案时,我把它作为jQuery插件发布在GitHub上
它使用jQuery/AJAX和一点PHP来清理输出
您可以尝试下面列出的解决方案,以获得正确的语法:它确实可以使用“$.get”函数工作,但我确实希望使用“$.ajax”函数使其工作,因为它应该让我有一个更低级的理解,因为我对ajax和jQueryUsesuccess
都是非常陌生的,而不是done
。我认为done
不受欢迎。另外,get只是ajax的简写,与ajax完全相同。我知道你想好好学习+为什么匿名否决票?这是一个不错的问题…我试过:$(function(){setInterval(function(){$.ajax({url:“ajax.html”,cache:false,dataType:“html”,success:function(html){var div=$('#2',$(html)).addClass('done');$('#div1').html(div);},1000)})代码>但这给了我一个空白负载。这不是我正在寻找的解决方案,因为源代码头中的其他脚本没有被执行,因此显示了错误的内容。我相信唯一的方法是通过$.ajax->success:但那只会给我一个空白页。