jQuery可以用JavaScript替换文本然后执行

时间:2016-02-17 15:16:31

标签: javascript jquery html ajax

我有一个包含标题,图片等的页面。我想使用Ajax将“page”div替换为另一个HTML,JavaScript等文件,并在加载后在该页面上执行JavaScript。我该怎么做并处理< ,“和文件中的其他标签并传递一些参数?

3 个答案:

答案 0 :(得分:0)

您拥有其他“页面”内容吗?如果是这样,你可以在你的主“容器”页面上使用javascript方法,然后一旦你触发方法来提取新的“page”div的内容,就会激活你需要的相应的javascript方法,因为任何必要的DOM元素都会被此时已添加到页面中。

要按照您提到的方式执行此操作,您可以按照此处显示的步骤使用动态脚本模式:Executing <script> inside <div> retrieved by AJAX

基本上,你在外部托管你的javascript,然后一旦页面加载,将“src”标签添加到脚本元素,它将执行。

至于处理特殊字符,您可以按照jQuery的ajax调用的步骤将HTML从其他页面注入到当前页面中,例如:How to get the html of a div on another page with jQuery ajax?

$.ajax({
url:'http://www.example.com/',
    type:'GET',
    success: function(data){
       $('#ajaxcontent').html($(data).find('body').html());
    }
});

(而不是针对外部网页上的特定div,您将定位正文或父容器div)

答案 1 :(得分:0)

给出一个html页面

<html>
...
<body>
   <div class="page">
      some html content...
   </div>
</body>
</html>

您可以通过jQuery函数load()

替换div的内容
$("div.page").load("an-http-resource.html");

答案 2 :(得分:0)

使用AJAX请求将HTML文件作为回复。 将“page”div innerHTML替换为响应。 如果HTML页面有一堆标题等,并且您只需要该HTML文件的某个部分,则可能需要使用getElementById或其他一些选择HTML文件部分的方法。

HTML实体将按照通常在浏览器中显示的方式显示,如果这是您处理&lt;和“和其他标签。

您可以通过编辑端点来发送参数:

index.html?date=today&car=yours