概要
3年分の売り上げ、営業利益が順番に出力されたTableがあります。
- | 1年目 | 比率 | 2年目 | 比率 | 3年目 | 比率 |
---|---|---|---|---|---|---|
売上 | 50,000 | 100% | 55,000 | 100% | 60,000 | 100% |
営業利益 | 4,246 | ★ | 3,900 | ★ | 5,190 | ★ |
上の、★の部分に、(営業利益÷売上*100)の結果を出したいと思っています。
下記のように、JavaScritpで計算をしてみましたが、うまくいきませんでした。
試したこと
html
1 <table class="table table-bordered"> 2 <tr> 3 <td></td> 4 <td colspan="2">1年目</td> 5 <td colspan="2">2年目</td> 6 <td colspan="2">3年目</td> 7 </tr> 8 <tr> 9 <td>売上高</td> 10 <td id="sales">50,000</td> 11 <td>100%</td> 12 <td id="sales">55,000</td> 13 <td>100%</td> 14 <td id="sales">60,000</td> 15 <td>100%</td> 16 </tr> 17 <tr> 18 <td>営業利益</td> 19 <td id="profit">4,246</td> 20 <td id="rate_profit"></td> 21 <td id="profit">3,900</td> 22 <td id="rate_profit"></td> 23 <td id="profit">5,190</td> 24 <td id="rate_profit"></td> 25 </tr> 26 </table>
javascript
1window.addEventListener('DOMContentLoaded', function(e){ 2 let sales = parseInt(document.getElementById('sales').textContent); 3 let profit = parseInt(document.getElementById('profit').textContent); 4 5 let rate_profit = (profit / sales * 100).toFixed(1); 6 7 document.getElementById('rate_profit').textContent=rate_profit; 8 });
しかしこの方法では1年目しか計算されません。
また、JavaScriptで数字を拾うときに、カンマで区切ってあると最初のカンマの左側の数字しか読み取ってもらえません。
(例 「50,000」=>「50」になってしまう。)
また、JavaScriptでgetElementByNameを使い、HTMLでもname="xx"とした場合も試しましたが、こちらですと1年目も計算結果が表示されませんでした。
ご教授いただけますと幸いです。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/06/17 06:54