【问题标题】:Select element without tag [duplicate]选择没有标签的元素[重复]
【发布时间】:2018-03-17 16:22:30
【问题描述】:

我的 HTML 结构是这样的:

<div class="in-featuredlisting">
    <h3 class="black">
        <a href="">title</a>
    </h3>
    <p class="sub-text in-newslisting">Posted on 15 March 2018</p>  
    lorem ipsum, bla, bla, bla   
</div> 

如果有什么方法可以捕获。

lorem ipsum, bla, bla, bla

没有“触摸”或更改任何其他内容的部分.in-featuredlisting

我试过.in-featuredlisting p + 但这个不起作用,因为我们没有将副本包装在元素中。

【问题讨论】:

    标签: jquery html css css-selectors


    【解决方案1】:

    您可以按照以下步骤操作:

    1. 首先克隆父元素,在该父元素中显示没有标签的text
    2. 然后选择该元素的所有子元素。
    3. 现在,删除其中的所有元素,这将删除具有 HTML 标记的元素
    4. 现在,再次返回所选元素,以便您可以引用该元素来获取文本(在步骤 3 中未删除)
    5. 最后,从父元素中获取文本,您可以进一步trim 删除文本前后的空格。

    var el = $(".in-featuredlisting");
    var res = el.clone()    //step 1
            .children()     //step 2
            .remove()       //step 3
            .end()          //step 4
            .text();        //step 5
    console.log(res.trim());
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <div class="in-featuredlisting">
        <h3 class="black">
            <a href="">title</a>
        </h3>
        <p class="sub-text in-newslisting">Posted on 15 March 2018</p>  
       lorem ipsum, bla, bla, bla   
    </div>

    【讨论】:

      【解决方案2】:

      1.使用.contents().text() 来获取div中的所有文本。

      2.同时忽略使用.not().children()的子元素文本

      3.使用$.trim()删除多余的空格。

      console.log($.trim($(".in-featuredlisting").contents().not($(".in-featuredlisting").children()).text()));
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
      <div class="in-featuredlisting">
          <h3 class="black">
              <a href="">title</a>
          </h3>
          <p class="sub-text in-newslisting">Posted on 15 March 2018</p>  
         lorem ipsum, bla, bla, bla   
      </div>

      【讨论】:

      • 回答会跨站点复制片段信息。如果问题是重复的,请不要回答。人们可以点击建议的重复链接,OP 可以接受建议并更快地关闭问题。
      • @ChrisF 1. 当我重复一个问题时,它要求再投 3 票,同时人们发布答案,我的投票变得毫无用处。 2 重复链接有很多解决方案,甚至没有选择最佳选项作为答案,这就是为什么我在这里添加了最合适的答案以及描述
      • 我理解您的担忧,但最终信息仍会分成几个问题。建议的重复链接足够显眼,可供人们查看并关注以查找信息。
      • @ChrisF 我会在不久的将来处理您的建议,但我的关注也很有价值。谢谢
      猜你喜欢
      • 2011-06-26
      • 2016-05-02
      • 1970-01-01
      • 2020-06-27
      • 2011-06-18
      • 2017-12-11
      • 2019-10-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多