jQuery.replaceWith不接受<script>标记</script>

时间:2011-11-13 22:15:08

标签: jquery html ajax replacewith

我有一个包含一些HTML的AJAX响应,包括<script>元素。

此HTML应替换现有元素,但在使用时:

$(element).replaceWith($(response))

我丢失了脚本标签......

如何准确插入HTML的发送方式?

3 个答案:

答案 0 :(得分:2)

它将返回一个字符串!!

$.get("ajax.php")
     .success(function(returningHtmlString) {
          $(element).replaceWith(returningHtmlString);
     });

答案 1 :(得分:1)

此代码来自facebook的示例应用。在文档中插入<div id="fb-root"></div>。该代码需要jQuery来加载脚本。在您的情况下,请将//connect...../all.js'替换为<script>元素。

(function() {
var e = document.createElement('script');
e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
e.async = true;
document.getElementById('fb-root').appendChild(e);
}());

答案 2 :(得分:0)

请参阅jQuery.parseHTML( data [, context ] [, keepScripts ] )

以下内容应该有效

var content = jQuery.parseHTML(response, document, true)
$(element).replaceWith(content)