実現したいこと
ここに実現したいことを箇条書きで書いてください。
前提
table要素のtdの中身のテキストで、こちらで指定したものが含まれていた場合、親要素のtrごと見出しの下部に表示箇所を移動したい。
一発で移動する方法がわからなかったため、当該trの中身を変数に一旦保存してから保存したtrをdeleteRow()で削除後にinsertRow()でtr要素のみを指定箇所に挿入<-ここまでは思った通りの動作でした
その後にinsertRow()で作成したtrをouterHTMLで保存してあったtrの中身に変更しようとしたところ下記の[object HTMLCollection]が表示されてしまった。
発生している問題・エラーメッセージ
当該trタグの中身が以下となり、思ったような挙動にならない。
[object HTMLCollection]
該当のソースコード
html
1<table id="table__sort__wide" class="table__sort sort-table"> 2<thead> 3<tr> 4<th data-sorter="false">見出しA</th> 5<th data-sorter="false">見出しB</th> 6</tr> 7</thead> 8<tbody> 9<tr> 10<td>項目A-1</td> 11<td>項目B-1</td> 12</tr> 13<tr> 14<td>項目A-2</td> 15<td>項目B-2</td> 16</tr> 17<tr> 18<td>項目A-3</td> 19<td>項目B-3</td> 20</tr> 21</tbody> 22</table> 23 <script type="text/javascript"> 24 $(function() { 25 //検索ワードを指定 26 const search = "項目A-3"; 27 let sort_table_wide = document.getElementById("table__sort__wide"); 28 var rows = $("#table__sort__wide tbody").children(); 29 //行数 30 var rowsNum = rows.length; 31 //現在の行数 32 var nowsNum = 0; 33 34 for (let row of sort_table_wide.rows) { 35 console.log(nowsNum); 36 for(let cell of row.cells){ 37 console.log(cell.innerText); 38 const result = cell.innerText.includes(search); 39 console.log(result); 40 if(result == true){ 41 var changeNum = nowsNum; 42 } 43 } 44 nowsNum++; 45 } 46 var changeRow = rows[changeNum - 1] 47 sort_table_wide.tBodies[0].deleteRow(changeNum - 1); 48 sort_table_wide.tBodies[0].insertRow(0); 49 sort_table_wide.rows[1].outerHTML = changeRow"; 50 }); 51 </script>
試したこと
objectをstring変換するものをいくつか試したもののそちらも動作せずJSON.stringify()/String()等
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー