我有一些非常简单的示例代码,如下所示:
$.ajax({
url: 'demo2.htm',
success: function(loadeddata){
$("#loaded_data").after(loadeddata);
alert('success');
},
error: function(){
alert('failure');
}
});
加载的数据当前返回所有内容。我需要的是只获取一个特定的 div,然后将其添加到 #loaded_data。
我该怎么做?
谢谢!
最佳答案
这就是 jQuery 内部的实现方式:
$("<div/>").append(loadeddata).find('#mydiv');
如果您希望在 HTML 中包含 SCRIPT 标记,则应将其放入以避免 IE 中出现任何“权限被拒绝”错误:
$("<div/>").append(loadeddata.replace(/<script(.|\s)*?\/script>/g, "")).find('#mydiv');
编辑:
你没有捕获应该发生的事情的重点。
通过做$("<div/>").append(...);
jQuery 创建一个虚拟对象 <div>
并通过将 HTML 插入到 <div>
中来让浏览器解析 HTML 。一旦完成,我们就可以找到我们想要的 DIV,并返回 HTML。因此,我应该放在上面的更正确的代码示例如下所示:
var html = $("<div/>").append(loadeddata).find('#mydiv').html();
$('#whereIwantIt').html(html);
正如您在链接中看到的,this does what you want .
关于javascript - 从 Jquery ajax 中仅获取文件的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/944465/