[英]apply javascript to multiple divs
I Have JavaScript/HTML code like this:我有这样的 JavaScript/HTML 代码:
const priceDiv = document.querySelector('#pprices'); priceDiv.textContent = (+priceDiv.textContent).toLocaleString('en-US');
<div id="pprices">125135135</div> <div id="pprices">1361436136</div> <div id="pprices">136136136136</div>
The problem is that the JavaScript Code affects the first div only.问题是 JavaScript 代码仅影响第一个 div。
How can I solve this problem?我怎么解决这个问题?
class
instead.请改用class
。querySelector
returns the first matching element. querySelector
返回第一个匹配元素。 Use querySelectorAll
instead.请改用querySelectorAll
。querySelectorAll
returns a NodeList object so use the forEach
method to loop through the list. querySelectorAll
返回一个 NodeList object 所以使用forEach
方法循环遍历列表。 const priceDiv = document.querySelectorAll('.pprices'); priceDiv.forEach(e => { e.textContent = (+e.textContent).toLocaleString('en-US'); })
<div class="pprices">125135135</div> <div class="pprices">1361436136</div> <div class="pprices">136136136136</div>
You need querySelectorAll
with class instead of ids and forEach
for pass all elements你需要querySelectorAll
和 class 而不是 ids 和forEach
来传递所有元素
const priceDivs = document.querySelectorAll('.pprices'); priceDivs.forEach(function (priceDiv) { priceDiv.textContent = (+priceDiv.textContent).toLocaleString('en-US'); });
<div class="pprices">125135135</div> <div class="pprices">1361436136</div> <div class="pprices">136136136136</div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.