亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

單擊時如何添加特定項內部文本

單擊時如何添加特定項內部文本

波斯汪 2022-09-29 16:05:59
我正在嘗試構建一個簡單的購物車。我想在單擊添加按鈕時將整個項目添加到購物車中。項目看起來像這樣(有6個不同的名稱和價格現在,我正在努力將名稱添加到購物車中(我將對價格使用相同的過程),但是當我單擊添加按鈕時,它會添加最后一個項目的名稱,而不是我正在單擊的項目的名稱。如何解決此問題?const cart = document.querySelector(".cart");const productName = document.querySelectorAll(".product-name");const productPrice = document.querySelector(".product-price");const addBtn = document.querySelectorAll(".add");addBtn.forEach(button => {  button.addEventListener("click", addToCart);})//Add to cartfunction addToCart(e) {  e.preventDefault();  //Create DIV  const item = document.createElement("div");  item.classList.add("item");  //Add name  const name = document.createElement("h2");  name.classList.add("product-name");  productName.forEach(productN => {    name.innerText = productN.innerText;  })  item.appendChild(name);  cart.appendChild(item);}<div class="product">  <h2 class="product-name">Beer</h2>  <h3 class="product-price">$4</h3>  <button class="add">Add to cart</button></div><div class="product">  <h2 class="product-name">Burger</h2>  <h3 class="product-price">$12</h3>  <button class="add">Add to cart</button> </div><section class="section">        <h2 class="text-center">Cart</h2>        <div class="cart"></div>    </section>
查看完整描述

1 回答

?
牧羊人nacy

TA貢獻1862條經驗 獲得超7個贊

你可能想要這個


const cart = document.getElementById("cart");

const productName = document.querySelectorAll(".product-name");

const productPrice = document.querySelector(".product-price");


const addBtn = document.querySelectorAll(".add");

addBtn.forEach(button => {

  button.addEventListener("click", addToCart);

})


//Add to cart

function addToCart(e) {

  e.preventDefault();

  //Create DIV

  const item = document.createElement("div");

  item.classList.add("item");

  //Add name

  const name = document.createElement("h2");

  name.classList.add("product-name");

  name.innerText = e.target.parentNode.querySelector(".product-name").innerText;

 

  item.appendChild(name);

  cart.appendChild(item);

}

<div class="product">

  <h2 class="product-name">Beer</h2>

  <h3 class="product-price">$4</h3>

  <button class="add">Add to cart</button>

</div>


<div id="cart"></div>


委派對產品的點擊


const cart = document.getElementById("cart");

const products = document.getElementById("products");


const productName = document.querySelectorAll(".product-name");

const productPrice = document.querySelector(".product-price");


products.addEventListener("click", addToCart);



//Add to cart

function addToCart(e) {

  e.preventDefault();

  const tgt = e.target;

  if (!tgt.classList.contains("add")) return; // not a button

  const parent = tgt.parentNode;

  //Create DIV

  const item = document.createElement("div");

  item.classList.add("item");

  //Add name

  const name = document.createElement("h2");

  name.classList.add("product-name");

  name.innerText = parent.querySelector(".product-name").innerText;

  item.appendChild(name);

  cart.appendChild(item);

}

<div id="products">

  <div class=" product ">

    <h2 class="product-name ">Beer</h2>

    <h3 class="product-price ">$4</h3>

    <button class="add ">Add to cart</button>

  </div>

  <div class="product ">

    <h2 class="product-name ">Wine</h2>

    <h3 class="product-price ">$4</h3>

    <button class="add ">Add to cart</button>

  </div>

</div>


<div id="cart"></div>


查看完整回答
反對 回復 2022-09-29
  • 1 回答
  • 0 關注
  • 111 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號