jQuery:ajax处理html页面
源码:
$.ajax({
url: url,
success: function (data) {
var reg = /<body>[\s\S]*<\/body>/g;
var html = reg.exec(data)[];
html = $(html).filter(".body_main").html();
var title = $(html).filter("h2").html();
$("#body_main").find("h2").html(title);
var content = $(html).filter(".main_content").html();
$(content).prependTo("#dvFirst");
$("#dvFirst>div:gt(4)").remove();
}
});
注意点:
1.ajax传输过来的data中有换行符,正则表达式的时候需要注意,不能用.*,必须用[\s\S]*
2.在含有<html> </html>的字符串时,jquery不能够将字符串转化成Dom对象,需要去除html,body可以
3.在字符串转换成Dom对象后用find来查询时发现查不到,必须使用filter,具体的原因还不清楚。
find()获得当前元素匹配集合中每个元素的后代(子元素),选择性筛选的选择器(会在当前指定元素中查找符合条件的子元素,是对它的子集操作); filter()则是在当前指定的元素集合中查找符合条件的元素,是对自身集合元素进行筛选。
例子:
body:
var str = "<body><div>hongda</div><div>hongda2</div><div>hongda3</div><div>hongda4</div></body>";
var html = $(str).find("div").first().html();
console.log(html); //null
var str = "<body><div>hongda</div><div>hongda2</div><div>hongda3</div><div>hongda4</div></body>";
var html = $(str).filter("div").first().html();
console.log(html); //hongda
div:
var str = "<div><div>hongda</div><div>hongda2</div><div>hongda3</div><div>hongda4</div></div>";
var html = $(str).find("div").first().html();
console.log(html); //hongda
var str = "<div><div>hongda</div><div>hongda2</div><div>hongda3</div><div>hongda4</div></div>";
var html = $(str).filter("div").first().html();
console.log(html); //<div>hongda</div><div>hongda2</div><div>hongda3</div><div>hongda4</div>
jQuery:ajax处理html页面的更多相关文章
- Jquery Ajax调用aspx页面方法
Jquery Ajax调用aspx页面方法 在asp.net webform开发中,用jQuery ajax传值一般有几种玩法 1)普通玩法:通过一般处理程序ashx进行处理: 2)高级玩法:通过as ...
- jquery.ajax请求aspx和ashx的异同 Jquery Ajax调用aspx页面方法
1.jquery.ajax请求aspx 请求aspx的静态方法要注意一下问题: (1)aspx的后台方法必须静态,而且添加webmethod特性 (2)在ajax方法中contentType必须是“a ...
- Jquery Ajax调用aspx页面方法 (转载)
在asp.net webform开发中,用jQuery ajax传值一般有几种玩法 1)普通玩法:通过一般处理程序ashx进行处理: 2)高级玩法:通过aspx.cs中的静态方法+WebMethod进 ...
- Jquery Ajax调用aspx页面实例
目前,我会的几种asp.net界面与后台代码交互方式有几种: 1.webform+服务器控件交互: 2.webform+jquery+ajax+一般处理程序交互: 3.webform+jquery+a ...
- php+JQuery+Ajax简单实现页面异步刷新 (转)
页面显示如下: JQueryAjax.html中的代码如下(用的较为简单的$.post) <html> <head> <meta charset="UTF-8& ...
- Django1.6 + jQuery Ajax + JSON 实现页面局部实时刷新
最近微信公众帐号要扩展做一个签到系统,签到结果在一个网页上实时更新,即页面局部刷新.我想用Ajax来实现,之前公众帐号是用的Django搭的,我查找了Django的官方文档,没有封装Ajax.网上有各 ...
- jQuery AJAX实现调用页面后台方法
1.新建demo.aspx页面.2.首先在该页面的后台文件demos.aspx.cs中添加引用. using System.Web.Services; 3.无参数的方法调用. 大家注意了,这个版本不能 ...
- .net mvc 用jquery ajax成功后页面跳转。
$.ajax({ //url: 'http://192.168.0.102/webApiDemo/api/WebApiTest/PostStudentInforOnePara', //url: &qu ...
- Ajax--PHP+JQuery+Ajax解析json、XML数据、加载页面
一.JQuery+Ajax用get.post方式提交和请求数据 知识要点: $('#userName').blur(function () { var txt = $(this).val(); $.a ...
随机推荐
- WebWorker的浏览器"异步线程"
worker新线程: 1.通过postMessage( data ) 方法来向主线程发送数据; 2.绑定onmessage方法来接收主线程发送过来的数据: 3.worker外部文件不允许使用win ...
- Intellij Idea常用配置设置
1.配置Intellij Idea的配置文件从默认c盘转移到其他盘符 找到Intellij idea的安装文件,在bin目录下找到idea.properties配置文件,如下把Idea的配置文件夹和I ...
- 洛谷P1084 疫情控制 [noip2012] 贪心+树论+二分答案 (还有个小bugQAQ
正解:贪心+倍增+二分答案 解题报告: 正好想做noip的题目然后又想落实学长之前讲的题?于是就找上了这题 其实之前做过,70,然后实在细节太多太复杂就不了了之,现在再看一遍感觉又一脸懵了... 从标 ...
- js数据类型--对象&数组
javascript最重要的数据类型是对象 对象定义 对象是键值对的集合,或字符串到值映射的集合 对象申明 对象是由花括号括起来的 var person={ name:"my name&qu ...
- 【Python】唯品会购买商品
操作过程:唯品会进入之后,搜索商品,浏览网页,略掉不能选择的尺寸,选择之后,点击商品选择数量的加号,然后加入购物车. 实现代码如下: # coding=utf-8 from selenium impo ...
- java项目连接jdbc报错:com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server
java项目连接jdbc报错:com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not creat ...
- FM/FFM原理
转自https://tech.meituan.com/deep-understanding-of-ffm-principles-and-practices.html 深入FFM原理与实践 del2z, ...
- Selenium Webdriver——操作隐藏的元素(四)
页面上弹出的对话框是自动化测试经常会遇到的一个问题:很多情况下对话框是一个iframe,如上一节中介绍的例子,处理起来稍微有点麻烦:但现在很多前端框架的对话框是div 形式的,这就让我们的处理变得十分 ...
- 11.2.0.4 RAC测试环境修改时区
当前问题: 系统时区修改后,集群数据库各个日志发现显示的还是之前时区的时间. 依据Linux (RHEL)修改时区更改了系统的时区后,集群数据库的各个日志还是显示之前的时区时间. 查找MOS资料 Ho ...
- mysql的count方法详解
1.cout(*)会统计为null的行: 2.count(列名)不会统计此列null值的行: 3.count(distinct col)计算该列除null之外的不重复数量: