我需要用ajax调用的html结果替换页面中div的内容.问题是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);
});
必须有一个简单的方法.