11521 sujets

JavaScript, DOM et API Web HTML5

Bonjour a tous

j'ai un petit soucis que je ne parviens pas a regler

j'ai un code ou je recupere une variable en javacript

en javascript j'ai ceci

document.getElementById("sumaaa").innerHTML=aaa;

que je recupere en html de cette facon

La somme = <p id="sumaaa"></p>

que je souhaite transmettre a data-prix a present mais je ne parviens pas a faire entrer sumaaa dans data-prix

<a style="cursor:pointer; margin-bottom: 5px;"  data-prix="id="sumaaa"" class="btn btn-primary ajouter-panier b-items__item__add-to-cart">ajouter au panier</a>
mais je ne parviens pas a trouver la bonne formule
Salut Flexi,
Je ne saisis pas exactement ce que tu veux faire.
Ta somme est d'abord stockée dans la variable `aaa` en JS, c'est bien ça ?
Tu affiches la valeur dans le le `<p id="sumaaa">`, c'est ça ?
Et en même temps tu souhaiterais mettre à jour l'attribut `data-prix` de ton élément `<a>`, c'est bien ça ?

Si c'est ce que tu veux faire, côté JS, il faut que tu renseignes la valeur de `data-prix` de ton `<a>` comme ça

const button = document.querySelector(".ajouter-panier")
button.dataset.prix = aaa.toString()

https://codepen.io/korell/pen/qByKyEY

Il vaut mieux d'ailleurs utiliser un `<button>` ici si tu n'as pas de lien.

Plus d'infos sur dataset : https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/dataset
Modifié par MatthieuR (27 Jan 2023 - 23:02)
bonsoir MatthieuR
Super un immense merci pour cette aide cela fonctionne parfaitement

Mais j'ai egalement aussi

document.getElementById("sumbbb").innerHTML=aaa;

La somme = <p id="sumbbb"></p>


et aussi un troisieme endroit avec sumbbb

comment je peux faire des lors
voici donc la solution
      //var somme = aaa;
      document.getElementById("sumaaa").innerHTML=aaa
      document.getElementById("sumbbb").innerHTML=bbb;
      document.getElementById("sumccc").innerHTML=ccc;
     


document.getElementById("pack10").setAttribute("data-prix", aaa);
document.getElementById("pack20").setAttribute("data-prix", bbb);
document.getElementById("pack30").setAttribute("data-prix", ccc);