zoukankan      html  css  js  c++  java
  • 转 jquery获取两个标签之间文本

    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的属性。

  • 相关阅读:
    Hadoop之HDFS的热备份
    Hadoop之联邦HDFS
    Hadoop之HDFS如何保证高可用
    Hadoop之HDFS的读流程
    Hadoop之HDFS数据写流程和写失败的情况
    Hadoop之HDFS的block、packet、chunk
    Hadoop之HDFS的元数据冷备份(CheckPoint)
    当ZooKeeper作为Dubbo的注册中心的时候,是怎么工作的?
    Dubbo
    mysql磁盘满了如何恢复
  • 原文地址:https://www.cnblogs.com/qinhan/p/10033919.html
Copyright © 2011-2022 走看看