简体   繁体   English

将 javascript 应用于多个 div

[英]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?我怎么解决这个问题?

  1. IDs should be unique. ID 应该是唯一的。 Use class instead.请改用class
  2. querySelector returns the first matching element. querySelector返回第一个匹配元素。 Use querySelectorAll instead.请改用querySelectorAll
  3. 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM