将后台返回字符串数据转为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)
上一篇 2021年8月31日 上午7:00
下一篇 2021年8月31日 上午7:00


相关推荐

  • WebGPU 初探 – Windows10上Chorme运行WebGPU程序

    WebGPU 初探 – Windows10上Chorme运行WebGPU程序WebGPU 是最新的 Web3D 图形 API 浏览器封装了现代图形 API Dx12 Vulkan Metal 这才是未来的标准 不像 WebGL2 0 苹果直接不支持 好 开始今天的分享 点击链接查看是否支持 WebGPU 首先分享链接 W3CWebGPU 组织 WebGPU 目前的进展可以查看 WebGPU 最新的进展和平台支持情况 WebGPU 文档 WebGPU 的官方介绍 说明比较详细 Web

    2025年7月2日
    5
  • Portraiture 3.5.6磨皮滤镜插件适用于Photoshop磨皮美化功能[通俗易懂]

    Portraiture 3.5.6磨皮滤镜插件适用于Photoshop磨皮美化功能[通俗易懂]软件名称:Portraiture3Plug-in版本号:v3.5.6(build版3565-03)软件大小:8.48MB软件语言:简体中文授权形式:一码一机更新日期:2021年8月23日软件类型:简体中文软件类别:国内软件-插件软件-磨皮插件软件插件捆绑:无支持系统:MacOS10.13-11.4简介:Portraiture是一款智能磨皮的滤镜插件,该插件能够给Photoshop和Lightroom添加智能磨皮美化功能,可以帮助用户快速对图片中的人物的皮肤、头发

    2022年7月22日
    17
  • yolo 实例分割_jacobi椭圆函数

    yolo 实例分割_jacobi椭圆函数Abstract我们提出了一个简单的、完全卷积的实时实例分割模型,在MS-COCO上达到29.8map,在单个TitanXp上以33.5fps的速度进行评估,这比以往任何竞争方法都要快得多。而且,我们只在一个GPU上训练就得到了这个结果。我们通过将实例分割分成两个子任务来实现这一点:(1)生成一组原型掩码;(2)预测每个实例的掩码系数。然后,我们通过将原型与掩码系数结合起来,生成实例mask…

    2022年8月23日
    14
  • Ubuntu18.04 安装 gcc「建议收藏」

    Ubuntu18.04 安装 gcc「建议收藏」在Ubuntu18.04下安装gcc的指令:sudoadd-apt-repositoryppa:unbutu-toolchain-r/testsudoapt-getupdatesudoapt-getinstallgcc  这种方法最简单,默认安装最新版本的gcc,安装完成后,输入下面指令查看gcc的版本gcc-v    Refere…

    2022年7月24日
    34
  • idea导入jar包的方法

    idea导入jar包的方法ProjectStruc 导入方法首先进入 File gt ProjectStruc 接着找到 Modules gt Dependencies 点击最右侧的 号然后就选择想要导入的 jar 包了 AddasLibrary 方法在你需要导入的 Jar 包上 点击右键 选择 AddasLibrary 然后点击 ok 即可

    2026年3月18日
    2
  • 微服务:简述Surging微服务架构

    微服务:简述Surging微服务架构微服务 简述 Surging 微服务架构 Surging 自 2017 年 6 月 16 日开源以来 已收到不少公司的关注或者使用 其中既有以海克斯康超大型等外企的关注 也不乏深圳泓达康 重庆金翅膀等传统行业的正式使用 自 2019 年年初 surging2 0 便已正式进入研发阶段 也受到了 surging 用户的关注 本文将解读 Surging2 0 的新特性和新功能 在开始之前先解答一下经常被提到的疑问

    2026年3月19日
    2

发表回复

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

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