https://blog.csdn.net/u010403387/article/details/44197629?utm_source=blogxgwz8

如以下代码所示,id为tidy的<a>标签中既存在<span>标签,又存在“This is some text”的文本。那么问题来了,怎么用jquery只取“This is some text”的文本,而不取<span>里的内容?

<a id="tidy">
<span id="Span1">First span text</span>
This is some text <span id="Span2">Second span text</span></a>
方法一:使用.html()取到a标签中的所有内容后,用正则表达式筛选出不被有"<"、">标签包围的内容,并去掉换行符。

$("#tidy").html().replace(/<.*>*<.*>|\s/g,"");

评价:初步达到目标,解决问题的工具更多还是正则表达式,并且由于正则表达式的制约,该方法适用性较窄。

方法二:复制整个<a>,然后去掉a标签的子标签,再用.text()获得所需文本。

<span style="font-size:14px;">$("#tidy")
.clone()//复制a标签
.children()//找到所有子标签
.remove()//删除所有子标签
.end()//退回上一匹配元素
.text();//取到所需文本</span>
评价:达到目标,但是对原表签的操作是只读的,不能对原标签中的文本进行修改。

方法三:复制整个<a>,然后去掉a标签的子标签,再用.text()获得所需文本。

$("#tidy").contents().filter(function(){
return this.nodeType == 3;
})[0].nodeValue = "The text you want to replace with"

评价:达到目标,能对原标签中的文本进行读写操作,但是nodeValue是js的属性。

转 jquery获取两个标签之间文本的更多相关文章

  1. 代码管理_Git中获取两个标签之间的变更代码行数

    操作步骤: 1.先进入git的服务器,定位到 repositories 目录 2.再定位到具体的项目目录(登录bitbucket查看项目属性可以看到项目的存放目录),如下图: 3.浏览项目的标签,命令 ...

  2. Java 获取两个日期之间的日期

    1.前期需求,两个日期,我们叫他startDate和endDate,然后获取到两个日期之间的日期 /** * 获取两个日期之间的日期 * @param start 开始日期 * @param end ...

  3. JS 格式化时间(获取两个日期之间的每一天、每一月、每半小时、每一秒)

    时间戳转换为时间 // 时间戳转换为时间 function timestampToTime(timestamp, isMs = true) { const date = new Date(timest ...

  4. PHP 获取两个时间之间的月份

    ## 获取两个时间之间的间距时间 $s = '2017-02-05'; $e = '2017-07-20'; $start = new \DateTime($s); $end = new \DateT ...

  5. java 获取两个日期之间的所有日期(年月日)

    前言:直接上代码 java 获取两个日期之间的所有日期(年月日) /** * 获取两个日期之间的日期,包括开始结束日期 * @param start 开始日期 * @param end 结束日期 * ...

  6. C# 获取两个时间段之间的所有时间与获取当前时间所在的季度开始和结束时间

    一:C# 获取两个时间段之间的所有时间 public List<string> GetTimeList(string rq1, string rq2) { List<string&g ...

  7. JavaScript or jQuery 获取option value值 以及文本内容的方法

    1.html <div class="form-group"> <label>保险公司</label> <select class=&qu ...

  8. java获取两个日期之间的所有日期

    java获取两个日期之间的所有日期   解决方法: 1.核心方法 private List<String> getBetweenDates(String start, String end ...

  9. jQuery获取节点和子节点文本的方法

    本节主要介绍了jQuery如何获取节点和子节点文本,下面有个示例,大家可以参考下 对于下面的html片段, ? 1 <div id="text_test">test t ...

随机推荐

  1. 提升lua代码效率

    local test = {} , do test[ i ] = {} end local t1 = os.clock( ) , do test[ ].mValue = end local t2 = ...

  2. 关于ASP.NET 服务器报错 Server Error in '/' Application Runtime Error 错误及解决方法

    今天遇到一个错误 程序在服务器上运行时报错 先贴上错误代码 自己也在网上找了一些解决方法,把错误定位到服务器的配置文件也就是Web.config的问题, 于是在system.web节点下 加上cust ...

  3. letecode242有效字母的异位词

    bool isAnagram(char* s, char* t) { ] = {}; ] = {}; int lenS = strlen(s); int lenT = strlen(t); ;i< ...

  4. 编写一个 rpc

    手动编写一个 RPC 调用 package com.alibaba.study.rpc.framework; import java.io.ObjectInputStream; import java ...

  5. 2019 年 React 学习路线图(转)

    转自:https://www.infoq.cn/article/AEkiVAiJf25LZmoUe_yc 之前我们已经介绍了2019 年 Vue 学习路线图,而 React 作为当前应用最广泛的前端框 ...

  6. Python设计模式 - UML - 交互概述图(Interaction Overview Diagram)

    简介 交互概述图是将不同交互图衔接在一起的图,属于UML2.0的新增图.交互概述图并没有引入新的建模元素,其主要元素来自于活动图和时序图.交互概述图侧重从整体上概览交互过程中的控制流,包括交互图之间的 ...

  7. webpack多入口优化

    最近接手的项目是公司之前搭的多页面应用脚手架,然后到现在入口页面大大小小超过半百了,然后每次更新完配置之后,重启页面就贼拉卡,实在太影响开发效率了,于是开始优化呗. 最开始发现如果你想要让加载速度变快 ...

  8. 2019-04-28——Django学习

    1.Django: Python Web应用开发框架,Django是走大而全的方向,它最出名的是其全自动化的管理后台:只需要使用起ORM,做简单的对象定义,它就能自动生成数据库结构.以及全功能的管理后 ...

  9. MVC开发T4代码生成之二----vs模板扩展

    在上一篇MVC开发T4代码生成之一----文本模板基础中介绍了与T4模板相关的基础知识,并对MVC内使用T4模板添加视图做了介绍.知道了T4模板的使用后自然就想着怎么对vs自带的T4模板进行扩展,添加 ...

  10. Which Queue Pair type to use?

    Which Queue Pair type to use? Contents [hide] 1 Reliable Connected (RC) QP 2 Unreliable Connected (U ...