1. ホーム
  2. javascript

[解決済み] 自己要素の削除 onclick

2022-02-10 09:58:20

質問

HTML文書にjavascriptを使用して追加された要素があります。その同じ要素をクリックすると、その要素が削除されます。要素のidはまだわかりませんので、とりあえずサンプルのidを載せておきます。

すでにこちらの回答を見てやってみたのですが( 自己削除可能な要素を作成する? ) を使ってみたり、ここで紹介されている方法 ( Javascriptを使用しています。コントロールがメソッド内で自分自身を送信する方法 ) も参照していますが、うまくいきません。

今のところ、こんな感じです。

function remove() {
  var element = this.id;
  //I have also tried using document.getElementByID(this.id)
  element.remove();
  //I have also tried using element.parentNode.removeChild(element); to remove the element.
}
<div id="i" onclick="remove(this)">Sample text</div>

何が間違っているのか分かりませんが、このようなエラーが出続けています。

<ブロッククオート

"Uncaught TypeError: 未定義のプロパティ 'remove' を読み取ることができません "。

解決方法は?

を渡す必要があります。 this は、html の関数呼び出しを通じて onclick を使う場合は、関数の定義でそれをパラメータとして使う必要があります。 this を使用すると、単に window オブジェクトを参照することになります。

これは問題なく動作します

function remove(el) {
  var element = el;
  element.remove();
}
<div id="i" onclick="remove(this)">Sample text</div>