呼び出した要素自身を削除するときは、removeメソッドを使う。
URLにいろいろな削除の仕方が書いてある
<h2>【演習問題】</h2>
<form onsubmit = "Submit(event)" id="form" name="formReset"> <!--//onsubmit="handleSubmit(event)"は定型文として覚えるeventをほかの名前にしちゃだめ名前にしちゃだめ -->
<input type="text" name="contents" placeholder="名前を⼊⼒してください">
<button type="submit" >送信</button>
</form>
<p id="message"></p>
<p>送信内容</p>
<ul id="nameList">
<li id="deketeLi">あいうえお<button class ="button6" onclick="deleteText()" type="submit">削除</button></li>
<li id="deketeLi">かきくけこ<button class ="button6" onclick="deleteText()" type="submit">削除</button></li><!-- onclickはクリックしたらイベント発生 -->
</ul>
<script>
function Submit(event) {
event.preventDefault(); // デフォルトのフォーム送信(ページを移行する機能)を防ぐ
const newNameList = document.createElement('li');//リストの生成
newNameList.id = 'deketeLi';
const newbutton = document.createElement('button');//ボタンの生成
newbutton.innerText = '削除';
newbutton.setAttribute('onclick', 'deleteText()');//setAttribute メソッドは指定した属性名の属性値に新しい値を設定する
newbutton.classList.add('button6');
let inputForm = document.getElementById('form').contents.value;// 入力フォームの内容を取得
newNameList.innerHTML = inputForm;//newNameListにinputFormの内容を入れる(HTML形式のまま突っ込む)
newNameList.appendChild(newbutton); // newNameListの子要素としてボタンを追加
document.getElementById('nameList').appendChild(newNameList);//newNameListをnameListに追加。appendChildは要素を追加できるメソッド
document.formReset.reset();
document.getElementById('message').innerHTML = 'フォームが送信されました!';
}
function deleteText() {//クリックされたとき、deketeLiのidを持つ要素が削除される
let li_element = document.getElementById('deketeLi');
event.target.parentElement.remove();//event.targetはイベント(今回はクリック動作)の発生源の要素である「このボタンを削除」ボタンを指していて、removeメソッドにより要素自身を削除できる
}
</script>