我想收集额外的数字 - 这是正确的方法吗?
<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
尝试了上面的代码,但没有成功。
答案 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)
});
答案 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) ;
});