将后台返回字符串数据转为jquery对象,并做一些操作

将后台返回字符串数据转为jquery对象,并做一些操作

     在 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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/111325.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • db4o 参考资料

    db4o 参考资料转自IBM:http://www.ibm.com/developerworks/cn/java/jdb4o/本系列是对开放源码数据库db4o的详尽介绍,db4o可以充分利用当前的面向对象的语言、系统和理念。要下载db4o,可以参考db4o主页;为了实践本系列的示例,需要下载db4o。系列文章第1部分:简介和概览(2007年4月9日)

    2022年7月21日
    19
  • 深入理解 MySQL 事务:隔离级别、ACID 特性及其实现原理

    深入理解 MySQL 事务:隔离级别、ACID 特性及其实现原理什么是事务?事务(`Transaction`),一般是指要做的或所做的事情。在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元。事务通常由高级数据库操作语言或编程语言(如SQL,C++或Java)书写的用户程序的执行所引起,并用形如`begintransaction`和`endtransaction`语句(或函数调用)来界定。事务由事务开始(`begintransaction`)和事务结束(`endtransaction`)之间执行的全部操作组成。

    2022年5月26日
    30
  • SQL——coalesce函数详解「建议收藏」

    SQL——coalesce函数详解「建议收藏」最近写SQL的过程中,学习到一个非常有用的函数:coalesce。特别是在做统计的时候,这个函数作为条件可以兼顾到一些特殊情况。这里做一下总结和分享。用途:(1):将控制替换成其他值;(2):返回第一个非空值表达式COALESCE是一个函数,(expression_1,expression_2,…,expression_n)依次参考各参数表达式,遇到非null值即停止并返…

    2022年8月20日
    9
  • (三)构建dubbo分布式平台-maven模块规划

    (三)构建dubbo分布式平台-maven模块规划

    2022年3月13日
    50
  • 国内团队博客汇总_中国最成功的团队

    国内团队博客汇总_中国最成功的团队京东前端团队凹凸实验室蘑菇街技术博客奇迹空间科技有限公司百度技术沙龙百度web前端团队FEX饿了么物流悦跑圈技术团队并发编程网阿里中间件团队博客阿里技术沙龙天猫无线团队淘宝前端团队FED美团点评技术团队奇虎360技术博客alloyteam腾讯全端腾讯Bugly腾讯wetestIBMdeveloperWorks中国Glow

    2022年8月13日
    3
  • springbatch 批处理框架的介绍

    springbatch 批处理框架的介绍springbatch批处理框架的介绍(还在整理中。。。。。。。。有点乱,待更新)SpringBatch是什么?官网中介绍SpringBatchisalightweight,comprehensivebatchframeworkdesignedtoenablethedevelopmentofrobustbatchapplicationsvital…

    2022年5月27日
    75

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号