【问题标题】:get textNode with division from div tag从 div 标签获取带有除法的 textNode
【发布时间】:2016-05-26 07:52:24
【问题描述】:
<div class="list" data-id="1">One</div>
<div class="list" data-id="2">Two</div>
<div class="list" data-id="3">Three</div>
<div class="list" data-id="4">Four</div>

var text = $(".list").contents().filter(function() {
return this.nodeType == 3; }).text()
alert(text);

现在,我收到警报“OneTwoThreeFour”

但是,我想像这样得到“一|二|三|四”......使用“|”分工

请帮帮我.......

【问题讨论】:

    标签: javascript jquery division textnode


    【解决方案1】:

    jQuery.map()之后使用.join()

    join() 方法将数组的所有元素连接成一个字符串。

    jQuery.map() 将数组或对象中的所有项转换为新的项数组。

    var text = $(".list").map(function() {
      return this.textContent;
    }).get();
    
    alert(text.join('|'));
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
    <div class="list" data-id="1">One</div>
    <div class="list" data-id="2">Two</div>
    <div class="list" data-id="3">Three</div>
    <div class="list" data-id="4">Four</div>

    或者使用你的方法

    var text = $(".list").contents().filter(function() {
      return this.nodeType == 3;
    }).get();
    text = text.map(function(t) { //.map as text is a collection of `TextNode` objects
      return t.textContent;
    });
    alert(text.join('|'));
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
    <div class="list" data-id="1">One</div>
    <div class="list" data-id="2">Two</div>
    <div class="list" data-id="3">Three</div>
    <div class="list" data-id="4">Four</div>

    【讨论】:

      猜你喜欢
      • 2016-08-24
      • 1970-01-01
      • 2020-12-14
      • 2014-09-17
      • 2012-03-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多