正如Pointy 指出的 ( 双关语 ),当您将HTML传递给时,jQuery会混淆SCRIPT标签$()
。它不会删除它们- 只是将它们添加到HTML生成的DOM集合中。您可以像这样执行脚本:
$.ajax({
url: 'example.html',
type: 'GET',
success: function(data) {
var dom = $(data);
$('#mydiv').html(dom.find('#something').html());
dom.filter('script').each(function(){
$.globalEval(this.text || this.textContent || this.innerHTML || '');
});
}
});