2011-03-08 71 views
1

我有JavaScript的計算從HTML代碼的總

<tr> 
<td nowrap="" align="right" id="n_852" class="tab ">1</td> 
<td nowrap="" align="right" id="n_853" class="tab ">2</td> 
<td nowrap="" align="right" id="n_854" class="tab ">3</td> 
<td nowrap="" align="right" id="n_855" class="tab ">4</td> 

</tr> 

在JS可以遍歷了數組n_i和計算總1+2+3+4

感謝

回答

3

http://jsfiddle.net/ZBLzp/

你可以使它更加尊重莫如通過改變*td

var elements=document.getElementsByTagName("*"), 
    partial = new RegExp('n_','g'), 
    total = 0; 

for(var i=0; i< elements.length;i++){ 
    if(elements[i].id.match(partial)){ 
     total+= parseInt(elements[i].innerHTML); 
    } 
} 
3
function doSum() 
{ 
    var stillGoing = true; 
    var sum = 0; 
    var i = 852; 
    while (stillGoing) 
    { 
    var element = document.getElementById('n_' + i); 
    if (element != null) 
    { 
     sum += parseInt(element.innerHTML); 
    } 
    else 
    { 
     stillGoing = false; 
    } 
    i++; 
    } 
    return sum; 
} 
+0

不工作... http://jsfiddle.net/Ma4MX/ – mellamokb

+0

-1假設不存在任何差距是一個窮。它也不起作用(即使你從'852'開始)。 – Raynos

+0

對不起。問題最初是從n_0開始的。但是無論你從哪個索引開始都應該是無關緊要的。所提供的代碼基礎似乎沒有差距,儘管這是一個假設,考慮到所提供的信息,它似乎並不是一個糟糕的結果。 –