处理标签之外的文本的正确方法是什么?

时间:2012-11-12 09:04:04

标签: jquery

  

可能重复:
  How do I select text nodes with jQuery?

处理标签之外的文本的正确方法是什么

我尝试了所有方法,但都失败了

我试验了这个

 <script>

  $(function(){
  var A = $(".A").text();
  var B = $(".B").text();
  var C = $(".C").text();
  var D = $(".D").text();
  $("#BD").text(A+B+C+D);
      });

  </script>

  <body>

   <div>
    <span class="A"></span>6
    <span class="B"></span>8
    <span class="C"></span>3
    <span class="D"></span>9
  </div>

  <div id="BD"></div>
  </body>

以及

<script>

$(function(){
 var A = $(".A").text();
 var B = $(".B").text();
 var C = $(".C").text();
 var D = $(".D").text();
  alert(A+B+C+D);
});

 </script>

但他们都没有工作

如何正确收集数字?!

2 个答案:

答案 0 :(得分:4)

更新的答案

http://jsfiddle.net/BramVanroy/dS3ab/2/

借鉴James

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

$("#BD").text(a);​

请注意,此解决方案仅用于获取div-tag内的所有textNodes!

答案 1 :(得分:2)

你可以克隆div并删除里面的span元素,然后用.text()检索div文本,只需执行:

$('#BD').text( $('.A').parent().clone().children('span').remove().end().text() );

见工作demo