将后台返回字符串数据转为jquery对象,并做一些操作
来源:互联网 发布:祖国流氓我放心知乎 编辑:程序博客网 时间:2024/06/08 02:32
在 web 开发中,经常会有后台返回 html 字符串的情况,需要在 js 里将其 转为 juery 对象或者 DOM 并做一些处理,下面这是我在实际中遇到的一点问题,记录一下。
问题如下:
后台获取的字符串是一大段 html , 然后 转为 juery 对象,从中 取出一部分,本来取出来的也是 juery 对象,大致如下 (转为jquery对象,有的浏览器 会格式化 加换行 \r\n)
var str = "<TD>合计</TD>" +
"<TD></TD>" +
"<TD></TD>" +
"<TD>5</TD>" +
"<TD>8</TD>" +
"<TD>4</TD>" +
"<TD>0</TD>" +
"<TD>0</TD>" +
"<TD>17</TD>" +
"<TD>8</TD>" +
"<TD>13</TD>" +
"<TD>9</TD>" +
"<TD>5</TD>" +
"<TD>9</TD>" +
"<TD>0</TD>" +
"<TD>44</TD>" +
"<TD>5</TD>";
前台 需要 合并单元格 ,因此要把前三个 <td> 去掉, 原本是想直接 截取字符串,谁知道 不同浏览器 ,在转为 juery 对象时,有的会自己格式化加上换行 \r\n ,有的不会,因此不同浏览器 字符串长度也不同,截取的不一样,后来就通过判断浏览器来解决。
后来我想了想,这样兼容性很不好,后来我想了想,可以直接通过 操作 jquery 对象删除 td 的,看了看 jquery 手册 ,找到如下方法:
1、var dd = $("<tr>"+str+"</tr>"); //重点就在这里
2、 var divHtml = dd.find('td:eq(0),td:eq(1),td:eq(2)').remove(); //找到前三个 td 去掉
alert(dd.html());
第一步,外层一定要加上 <tr>,不然转为 jquery 对象是 只会转第一个 <td>,后面的都没有了,而且我试了,外面 加<div> 也不行,外面 加<table>可以,不过它会自动在table下面加上 一层 tbody ,再加一层 tr
后来总结下,可以转为 jquery 对象时,外层必须加上一层,而且要符合 html 代码的规则,就好比 td 外面要 加 tr
- 将后台返回字符串数据转为jquery对象,并做一些操作
- Jackson 后台将javabean对象、List转为json格式字符串并返回,同时前台解析
- 后台对象转为json字符串
- Javascript将字符串转为XML并读取对象值
- jquery与后台进行数据交互--前台发单一数据对象,后台返回一个json字符串 jsp页面
- jquery与后台进行数据交互--前台发单一数据对象,后台返回一个json字符串 serlet
- jquery与后台进行数据交互--前台发单一数据对象,后台返回一个json字符串 serlet配置页面
- JSP将后台返回的数据显示并分页
- ajax中接受返回字符串转为json并进行处理(不使用jquery)
- 针对后台返回Object 对象数据的操作
- 不通过struts2,直接将Json对象转为字符串返回到jsp页面
- C++将数字转为字符串,并拼接
- C++将数字转为字符串,并拼接
- vue.js技术知识点之-将json里面的字符串转为json对象并循环输出
- JackSon将一个对象转为Json字符串
- js 将json字符串转为js对象
- java将对象转为json字符串
- 将Json字符串转为实体对象
- (五)抽象工厂模式详解
- ajax 跨域访问报错 501
- spark streaming窗口函数的使用和理解
- MYSQL启用日志,和查看日志
- CornerStone 常见的图标含义
- 将后台返回字符串数据转为jquery对象,并做一些操作
- conda
- mongodb的连接和开启安全验证
- 一段伪代码把握Android事件分发机制
- MySQL-99语法:外连接与内连接-(左内连接多表和查询)
- Python中dict详解
- Java 打印日历
- kafka 总结
- Jenkins 使用问题记录