我需要替换我的页面中的div的内容与ajax调用的html结果。
问题是,html有一些必要的脚本,它似乎jquery html()函数将其打包出来,
我需要过滤响应,只得到一个特定的div。
我想一个解决方法是从ajax响应中提取所有的脚本标签,然后附加他们做DOM,但我有麻烦这样做。
这里是我的代码;
$('a.link-vote').live('click',function(){
var idfeedback = $(this).attr('id').split('-')[1];
var href = $(this).attr('href');
$('.feedback-' + idfeedback + '-loader').show();
$.ajax({
type: "POST",
url: href,
success: function(response){
var x = $(response).find('#feedback-'+ idfeedback).html();
$('.feedback-' + idfeedback + '-loader').hide();
$('#feedback-'+ idfeedback).html(x);
}
});
return false;
});
但是任何结论。我试过建议的解决方案,但没有一个工作。
编辑:
我似乎找到了一个解决方案,基于那个老主题,但它不漂亮;
var dom = $(response);
// var x = $(response).find('#feedback-'+ idfeedback).html();
$('.feedback-' + idfeedback + '-loader').hide();
//$('#feedback-'+ idfeedback).html(x);
$('#feedback-'+ idfeedback).html(dom.find('#feedback-'+ idfeedback).html());
dom.filter('script').each(function(){
var obj = $(this);
$('#feedback-'+ idfeedback + ' .feedback-comments').append(obj);
});
必须有一个简单的方法。