javascript - 从 Jquery ajax 中仅获取文件的一部分

标签 javascript jquery ajax

我有一些非常简单的示例代码,如下所示:

$.ajax({
  url: 'demo2.htm',
  success: function(loadeddata){
    $("#loaded_data").after(loadeddata);
    alert('success');
  },
  error: function(){
    alert('failure');
  }
});

加载的数据当前返回所有内容。我需要的是只获取一个特定的 div,然后将其添加到 #loaded_data。

我该怎么做?

谢谢!

最佳答案

这就是 jQuery 内部的实现方式:

$("<div/>").append(loadeddata).find('#mydiv');

如果您希望在 HTML 中包含 SCRIPT 标记,则应将其放入以避免 IE 中出现任何“权限被拒绝”错误:

$("<div/>").append(loadeddata.replace(/<script(.|\s)*?\/script>/g, "")).find('#mydiv');

编辑:

你没有捕获应该发生的事情的重点。

通过做$("<div/>").append(...); jQuery 创建一个虚拟对象 <div>并通过将 HTML 插入到 <div> 中来让浏览器解析 HTML 。一旦完成,我们就可以找到我们想要的 DIV,并返回 HTML。因此,我应该放在上面的更正确的代码示例如下所示:

var html = $("<div/>").append(loadeddata).find('#mydiv').html();
$('#whereIwantIt').html(html);

正如您在链接中看到的,this does what you want .

关于javascript - 从 Jquery ajax 中仅获取文件的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/944465/

相关文章:

jquery - 单击 'Read More' 按钮会导致打开所有 block 而不是其特定的父 block

javascript - 创建 XMLHttpRequest 的方法

javascript - Angular 路由不适用于 anchor

javascript - 如何正确使用Watchify和Uglifyify?

javascript - 在多个客户端 JavaScript 文件之间传递套接字

javascript - 如何运行使用 jquery.load() 加载的页面中包含的 javascript 代码

javascript - es6类和多级继承

javascript - 访问全局变量和异步问题

javascript - 使用ajax将表单数据和文件传递给php

ajax - 通过 ajax 动态添加项目到模型中的列表