jQueryでやっていたことをプレーンJavaScriptで学ぶことを試みています。普通のjavascriptでクリックすると親要素を削除します
私は解決するためにインターネット上で見つけた例があり、本当に苦労しました。
button.remove
をクリックして、親div.single
を削除しようとしています。
ここにコードがあります。
var btn = document.getElementsByClassName('remove')
for (var i = 0; i < btn.length; i++) {
btn[i].addEventListener('click',function (e) {
e.parentNode.parentNode.removeChild(e.parentNode);
} , false);
}
<div class="single">
<img src="http://via.placeholder.com/150x150">
<button type="button" class="remove">X1</button>
</div>
<div class="single">
<img src="http://via.placeholder.com/150x150">
<button type="button" class="remove">X2</button>
</div>
<div class="single">
<img src="http://via.placeholder.com/150x150">
<button type="button" class="remove">X3</button>
</div>
<div class="single">
<img src="http://via.placeholder.com/150x150">
<button type="button" class="remove">X4</button>
</div>
私はエラーe.parentNode is undefined
を取得しています。
私は後に同じことをするjQueryコードです。
$(document).ready(function() {
$(document).on('click', '.remove', function() {
$(this).parent('.single').remove()
})
})
ありがとうございました。
のサポートを持っているあなたは '電子を必要とします.target.parentNode'。 'e'オブジェクトはノードではなくイベントオブジェクトです。ノードを参照するのは 'target'プロパティです。 – trincot
メソッドの中で 'e'を' this'に置き換えてください。 – gurvinder372
両方のソリューションが動作します、ありがとうございます。 – iamwtk