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



可能的重复:
如何使用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>

但他们都没有工作

如何正确收集数字?!

更新答案

http://jsfiddle.net/bramvanroy/ds3ab/2/

从詹姆斯借来的

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

请注意,此解决方案仅能在Div-Tag内部获取所有文本节点!

您可以克隆div并删除内部的跨度元素,然后用 .text()检索div文本,只需:

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

请参阅工作 demo

相关内容

最新更新