I have an html button where the ‘data-item-price’ attribute needs to be dynamically set on page load. The button has to be html but I can manipulate it with Javascript.
JavaScript
x
8
1
<button class="snipcart-add-item"
2
data-item-id="Job123"
3
data-item-price= 18 *a dynamically passed number*
4
data-item-url= "www.abc.co/priceevaluation"
5
data-item-name="Validate">
6
Add to cart
7
</button>
8
Advertisement
Answer
Using DOM’s
setAttribute()
propertyJavaScript131const snipcart = document.querySelector('.snipcart-add-item')
2mydiv.setAttribute("data-item-price", 18)
3
Using JavaScript’s
dataset
propertyJavaScript151const snipcart = document.querySelector('.snipcart-add-item')
2snipcart.dataset['item-price'] = 18
3//or use camelCase turn into kabeb-case
4snipcart.itemPrice = 18
5