• 用jq获取元素内文本,但不包括其子元素内的文本值的方法


    <li id="listItem">
        This is some text
        <span id="firstSpan">First span text</span>
        <span id="secondSpan">Second span text</span>
    </li>

    假设上面一段代码,我们想获取 'This is some text' 这段文本值,

    jq提供的方法是 text(),但结果打印的是 ‘This is some textFirst span textSecond span text’,

    可见text()方法返回的值是元素内所有子元素内的文本值,那么如果只想获取 'This is some text' 怎么办呢?

    有下面几种方法:

    1、jq方法

    $("#listitem")
        .clone()    //复制元素
        .children() //获取所有子元素
        .remove()   //删除所有子元素
        .end()  //回到选择的元素
        .text();//获取文本值

    2、jq方法

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

    3、js方法

    document.getElementById("listItem").childNodes[0].nodeValue;
  • 相关阅读:
    1703技术笔录
    技术开发感想
    1701技术随笔
    12月份技术随笔
    光照效果函数
    冰冻效果
    反色效果函数
    哈哈镜效果
    黑白效果函数
    羽化效果
  • 原文地址:https://www.cnblogs.com/skura23/p/6594166.html
Copyright © 2020-2023  润新知