今、Spring BootでWebアプリを作っていて、JavaScriptでHTML内のtableの要素を取得したかったのですが、getElementByIDや、getElementByClassNameを使って取得しようとしても、javaScriptで取得したときの値が
HTMLElementや、HTMLCollectionOf<HTMLTableElement>
になってしまい、table要素の関数(insertRow()など)がエディタでanyと表示されてしまい、エラーになってしまいます。また、ブラウザで実行してもこの関数が実行されていませんでした。
他の記事は何の問題もなく実行できているのに、何故できないのでしょうか、
調べてみたのですが、それらしいことが載っておらず質問させていただきました。
html
1<!DOCTYPE html> 2<html> 3<head> 4<meta charset="UTF-8"> 5<title>insert here</title> 6 <link rel="stylesheet" href="css/mainform.css"> 7</head> 8<body class=body> 9 <header> 10 <h1 class=headLine> 11 <a>horaire</a> 12 </h1> 13 </header> 14 <div id=scheduleTable> 15 <table border="1"> 16 <thead><tr><td>メニュー</td><td>詳細</td><td>練習時間<td>時間</td></tr> 17 <tr height="1200px"><td></td><td></td><td></td><td></td></tr> 18 </table> 19 </div> 20 21</body> 22<script src="js/mainform.js"></script> 23</html>
mainform.js
1console.log("読めてる"); 2 3 4const table = document.getElementById("scheduleTable"); 5 6table.insertRow();
エラーコンソール
Uncaught TypeError: table.insertRow is not a function
at mainform.js:6
※console.log();は表示されているので、jsはちゃんと読み取れています、宣言する位置もbodyの最後なので問題ないと思います。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。