2017-06-03 9 views
1

私の友人はJavaScriptテストを受けていました。私はあなたたちが答えを出すかもしれないと思った。 我々はボタンのクリックがクリックされたボタンの親ノードを削除するには、noパラメータをとらない機能を発射する場合は、この簡単なHTMLjavascriptで親ノードを削除する(新しいアプローチ)

<div> 
    <img src='whatever'> 
    <button>x</button> 
<div> 
<div> 
    <img src='whatever2'> 
    <button>x</button> 
<div> 

を考えてみましょう。

function deleteParent(){ 

} 

あなたはアイデアを提案できますか?関数がパラメータを取得しないことを鍵にしておいてください。

+0

どの関数が呼び出されましたか? – Terminus

+2

これは簡単ですが、答えは 'addEventListener'を使用することです。ちょうど' this.parentNode.remove() ' – adeneo

+0

https://developer.mozilla.org/en-US/docs/Web/API/Node/です。 parentNode –

答えて

2

コメントに示されているように、ボタンにリスナーを追加して、このイベントが実行されたときにクリックイベントをリッスンする必要があります。this.parentNode.remove();

var buttons = document.querySelectorAll('button'); 
 
buttons.forEach(function(elem){ 
 
elem.addEventListener("click",function(){ 
 
    this.parentNode.remove(); 
 
}); 
 
});
<div> 
 
    <img src=''> 
 
    <button>x</button> 
 
</div> 
 
<div> 
 
    <img src=''> 
 
    <button>x</button> 
 
</div>

+0

おそらく非ECMA 5バージョン(つまり、 no arrow function/foreach)古いブラウザとの互換性? – haxxxton

+0

はい、アドバイスをいただきありがとうございます –

関連する問題