如何收集所有外部标签号码

时间:2012-11-14 02:15:26

标签: jquery

我想收集额外的数字 - 这是正确的方法吗?

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

<table class="table" border="2">
<tr>
<td>AAAA</td>
<td>
<span class="A"></span>
"6"
<span class="B"></span>
"4"
<span class="C"></span>
"5"
<span class="D"></span>
"5"
</td>
</tr>
</table>

<table class="table" border="2">
<tr>
<td>AAAA</td>
<td>
<span class="A"></span>
"9"
<span class="B"></span>
"4"
<span class="C"></span>
"2"
<span class="D"></span>
"2"
</td>
</tr>
</table>

<table class="table" border="2">
<tr>
<td>AAAA</td>
<td>
<span class="A"></span>
"7"
<span class="B"></span>
"4"
<span class="C"></span>
"5"
<span class="D"></span>
"1"
</td>
</tr>
</table>

</body>

scirpt:

<script>

$(function(){

var texts = $('td *').map(function() {
    if (this.nextSibling.nodeType == 3)
        return this.nextSibling.nodeValue;
});

var a = texts[0];
var b = texts[1];
var c = texts[2];
var d = texts[3];

A = Number(a)
B = Number(b)
C = Number(c)
D = Number(d)

$("#HQ").html(A);
});
</script>

我想收集表格内的所有数字。

我只想要class="A"

<span class="A"></span>
 "6"

6 + 7 + 9 = 22

尝试了上面的代码,但没有成功。

3 个答案:

答案 0 :(得分:0)

如果您只想要所有具有“A”类的元素的文本,请使用:

$('.A').text

答案 1 :(得分:0)

您可以使用each方法。

$(function() {
    var total = 0;
    $('td').find('span').each(function() {
       var n = this.nextSibling.nodeValue.replace(/"/g, '');
       total += parseInt(n, 10);
    });
    $('#HQ').text(total)
});

http://jsfiddle.net/vDvnx/

答案 2 :(得分:0)

此版本仅检索A类之后的数字并输出等式

$(function() {
    var nums=[];
    var tot=0;

    $('td:has(.A)').each(function(){
        var $contents=$(this).contents();
        var numTxt=$contents.filter('.A')[0].nextSibling.nodeValue.replace(/"/g,'')
        var num=parseInt(numTxt,10)
       nums.push(numTxt);
        tot+=num
    });
   $('body').append('<br><br>'+ nums.join('+') +'='+tot) ;  

});

DEMO:http://jsfiddle.net/Mqat4/