我有一些非常简单的示例代码:
$.ajax({
url: 'demo2.htm',
success: function(loadeddata){
$("#loaded_data").after(loadeddata);
alert('success');
},
error: function(){
alert('failure');
}
});
加载的数据当前返回所有内容。我需要的是只获得一个特定的div,然后将它添加到#loaded_data。
我该怎么做?
谢谢!
答案 0 :(得分:4)
这就是jQuery在内部的作用:
$("<div/>").append(loadeddata).find('#mydiv');
如果您希望在HTML中包含SCRIPT标记,则应将其放入以避免IE中出现任何“权限被拒绝”错误:
$("<div/>").append(loadeddata.replace(/<script(.|\s)*?\/script>/g, "")).find('#mydiv');
修改强>:
你错过了应该发生的事情。
通过执行$("<div/>").append(...);
jQuery创建一个虚拟<div>
并让浏览器通过将其插入<div>
内来解析HTML。完成后,我们可以找到我们想要的DIV,并返回HTML。因此,我应该在上面提供的更合适的代码示例如下所示:
var html = $("<div/>").append(loadeddata).find('#mydiv').html();
$('#whereIwantIt').html(html);
正如您在链接中看到的那样,this does what you want。
答案 1 :(得分:0)
好的,这是一个带有find的新pastebin,并且Paolo提到了修复脚本问题。
正如您所看到的那样,嵌入了整个页面的HTML,而不仅仅是指定的元素。