※ ChatGPTを利用し、要約された質問です(原文:thisに関して)
JavaScriptでショップシステムを作成しているが、buttonが反応しない問題について
DOM初心者です。
今、簡単なショップシステムをつくっていますがjavaScriptが思ったように動作せず困っています。
取りあえず、下のHTMLを見て下さい。
<div id="menu" >
<div class="product">
<img src="cheesecake.jpg" />
<button onClick="addToCart()">カートへ</button>
</div>
</div>
<div id="cart">
</div>
このbuttonをクリックすると下の、<div id="cart">内に<div class="product">が丸ごと追加されると言う意図で下のコードを書きました。
function addToCart() {
var cartEl = document.getElementById("cart");
var productDiv = this.parentNode;
cartEl.appendChild(productDiv);
}
しかし、全く反応しません。
しかも、alert(productDiv);はundifindと表示されます。おそらくthisに関して勘違いしているのかparentNodeの問題かと思うのですが、お手上げでした。
明らかに、勘違いしているかもしれませんが、お手柔らかに説明をお願いします。
また、良い解説サイトが有れば教えて下さい。
お礼
回答有り難うございます。 問題なく動きました。なるほど、因数に渡せばよいのですね。。完全に予想外です。 cloneNode(true)も使う所が有りそうなので、メモしときますね。 助かりました。