J'essaie de faire un panier avec JS pur. J'essaye de créer dynamiquement des divs avec mes produits et boutons pour les augmenter/diminuer/les supprimer, mais je suis bloqué. Voici ma fonction qui crée ces divs:pur js panier
function displayCart() {
let output = '';
for (let i in cart) {
output += '<div class="card card-body cartc">' + '<p>' +
'<span id="' + cart[i].name + '">' + cart[i].name + '</span>' +
'<button class="minus">-</button>' +
' ' + cart[i].count + ' шт.' +
'<button class="plus">+</button>' +
'<button class="delete">x</button>' +
'</p>' + '</div>';
};
document.querySelector('.cart').innerHTML = output;
document.querySelector('.total').innerHTML = totalCost();}
L'étape suivante consiste à placer des événements sur les boutons.
document.addEventListener("click", function (event) {
if (document.querySelector('.minus')) {
let name = this.querySelector('.cartc span').getAttribute("id");
removeItemFromCart(name);
displayCart();
}});
Comme vous pouvez le voir, il trouve le premier span id .cart
et il retourne à removeItemFromCart()
, mais cette fonction devrait fonctionner dans tous les div que je crée, pas seulement le premier. Comment peut-il être résolu?
Vous pouvez jeter un oeil à l'ensemble du projet à https://enoltc.github.io/hw-2/ ou https://github.com/ENoLTC/hw-2/ Creating a Shopping Cart using only HTML/JavaScript La différence est que je veux écrire mon script en JavaScript pur, sans utiliser SimpleCart ou jQuery.
double possible de [Créer un panier en utilisant uniquement HTML/JavaScript] (https://stackoverflow.com/questions/16293977/creating-a-shopping-cart -using-only-html-javascript) –
document.querySelector renvoie le premier élément correspondant au sélecteur. https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelector. Peut-être que vous voulez document.querySelectorAll()? Encore mieux element.querySelectorAll() (https://developer.mozilla.org/en-US/docs/Web/API/Element/querySelectorAll) renvoie une liste de tous les éléments descendant de l'élément sur lequel il est appelé, qui correspondent le sélecteur. De cette façon, vous pouvez le restreindre à la div spécifique avec laquelle vous travaillez à chaque fois. La réponse est souvent dans les docs, si vous prenez le temps de chercher. – ADyson
https://stackoverflow.com/questions/16293977/creating-a-shopping-cart-using-only-html-javascript n'est pas la solution pour ma question, la chose est que je veux l'écrire sur pure JS, sans en utilisant simpleCart ou jQuery –