質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

2回答

964閲覧

tableのtrを削除したいのですが、うまくできないのでレクチャーいただければ幸いです。

KKsall

総合スコア25

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2021/10/24 14:46

編集2021/10/25 07:11

タイトル通りです。
クリックでconsole.log("Delete")は取れるのですが、tableの取り方がうまくいかなくて。

<table class="form-table-theme--1"> <thead class="has-background-thead"> <tr class="thead-mypage"> <th>申請日</th> <th>承認日</th> <th>更新日</th> <th>有効期限</th> <th>登録<br>番号</th> </tr> </thead> <tbody> <tr> <td>2021/09/01 </td> <td>2020/09/01</td> <td>2020/09/01</td> <td>2024/09/30</td> <td>1290</td> </tr> <tr> <td>2021/09/01 </td> <td>2020/09/01</td> <td>2020/09/01</td> <td>2024/09/30</td> <td>1290</td> </tr> <tr> <td>2021/09/01 </td> <td>2020/09/01</td> <td>2020/09/01</td> <td>2024/09/30</td> <td>1290</td> </tr> <tr> <td>2021/09/01 </td> <td>2020/09/01</td> <td>2020/09/01</td> <td>2024/09/30</td> <td>1290</td> </tr> <tr> <td>2021/09/01 </td> <td>2020/09/01</td> <td>2020/09/01</td> <td>2024/09/30</td> <td> <button class="btn-delete">btn-delete</button></td> </tr> </tbody> </table> <button class="btn-add">Add New</button>
const BtnAdd = document.querySelector(".btn-add"); const BtnDelete = document.querySelector(".btn-delete"); const DivContainer = document.getElementById("form-table-theme--1"); BtnAdd.addEventListener("click", AddNew); BtnDelete.addEventListener("click", Delete); function AddNew() { console.log("Add"); const tr_element = document.createElement('tr') const parent_object = document.querySelector('tbody'); tr_element.innerHTML = '<tr><td></td><td></td><td></td><td></td><td></td></tr>'; parent_object.appendChild(tr_element); } function Delete() { // tr.parentNode.removeChild(tr) console.log("Delete"); }

イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

間違い投稿のため削除

投稿2021/10/25 07:04

編集2021/10/25 07:05
KKsall

総合スコア25

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

どこのtrタグを消したいのか分からないのですが、全てのtrタグを消すなら

javascript

1 function Delete() { 2 var trs = document.getElementsByTagName('table')[0].getElementsByTagName('tr') 3 while(trs.length>0) trs[0].parentNode.removeChild(trs[0]); 4 }

投稿2021/10/24 15:50

arutoi

総合スコア18

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KKsall

2021/10/24 16:37 編集

コードありがとうございます。実はAddNewで作られたtrタグが対象なのですが。 イメージとしてユーザーがボタンで追加、削除ボタンで任意に追加された項目削除できるイメージです。今のままですと全部のtrが消えてしまって codepen https://codepen.io/boo-jp/pen/oNeBQLK?editors=1111
KKsall

2021/10/24 16:57

ありがとうございます!これで解決できました!!
KKsall

2021/10/24 17:09

度々すみません。こちら追加項目にDeleteボタンも表示されて削除できるようにするにはtarget.classListで変更すればいけますかね?
arutoi

2021/10/25 05:35

質問の意味がよく分からないので、もう少し詳細を記載いただけますか。
KKsall

2021/10/25 07:16 編集

ご返信ありがとうございます。イメージ画像投稿しました。 addボタン押下でtr追加、そのなかに削除ボタンも含めてて、tr内の削除ボタン押下で追加されたtrを削除したいのです。 tableが複数あっても同様な動きも希望です。。追加も削除も1tableに対して対応できれば table1 追加→tr+削除ボタン→削除ボタン押下→s削除ボタン押下されたtr削除 table2 追加→tr+削除ボタン→削除ボタン押下→s削除ボタン押下されたtr削除 codepen https://codepen.io/boo-jp/pen/oNeBQLK
arutoi

2021/10/25 09:07 編集

追加するときに同時にtrタグにidを付与して、削除するときにそのidのtrに対して削除を行うのが良いかと思います。idは連番でtr-数字のように振れば良いかと。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問