前提・実現したいこと
テーブルの各セルに共通クラスを持たせて、そのクラスで回して、各セルの合計値を取得する方法のご教示をお願い致します。
エラー解決方法を知りたい為、eachメソッドのvalを使って、各セルのテキストの値を取得する方法を知りたいです。
該当のソースコード
html
1 <table> 2 <tr> 3 <td class = "sample">10</td> 4 <td class = "sample">20</td> 5 <td class = "sample">30</td> 6 </tr> 7 </table>
試したこと
$(function(){ var sample = $(".sample"); var sum; sample.each(function(index, val){ console.log(val); sum += val.text(); }); console.log("sum:"+sum); });
・エラーメッセージ。
Uncaught TypeError: val.text is not a function at HTMLTableCellElement.<anonymous>
valを出力したら、
<td class="sample">10</td> となるので、 これで何故、val.text()でエラーが出てしまうのかわかりません。追記
現状の全コードです。
html
1<!DOCTYPE html> 2<html> 3<head> 4<meta charset="UTF-8"> 5<title>sample page</title> 6<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script> 7<script src="sample01.js"></script> 8<!-- <link rel="stylesheet" type="text/css" href="sample01.css"> --> 9</head> 10<body> 11 <table> 12 <tr> 13 <td class = "sample">10</td> 14 <td class = "sample">20</td> 15 <td class = "sample">30</td> 16 </tr> 17 </table> 18</body> 19</html>
JavaScript
1$(function(){ 2 var sum; 3 $(".sample").each(function(index, val){ 4 console.log($(val).text()); 5 sum += parseInt($(val).text(), 10); 6 }); 7 console.log(sum); 8});
・出力結果。
10 20 30 NaN
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/03/25 04:53
2019/03/25 04:59
2019/03/25 05:05 編集
2019/03/25 05:08
2019/03/25 05:08