1

冠状動脈外の数値を収集したい - これを行う正しい方法は何ですか?

<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>

スクリプト:

<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

上記のコードを試しましたが、成功しませんでした。

4

3 に答える 3

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/

于 2012-11-14T02:28:28.073 に答える
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) ;  

});

デモ: http://jsfiddle.net/Mqat4/

于 2012-11-14T03:48:42.637 に答える
0

「A」のクラスを持つすべての要素のテキストだけが必要な場合は、これを使用します。

$('.A').text
于 2012-11-14T02:18:11.053 に答える