简体   繁体   English

js:每个div加载均未运行功能

[英]js : not running function for each div onload

<div onload="mkid(4)" id='bxltr'></div>
<div onload="mkid(9)" id='bxltr'></div>
<div onload="mkid(7)" id='bxltr'></div>

<script>
function mkid(itg){
    nitg=itg+455+367*674;
    document.getElementById('bxltr').innerHTML=nitg;
}
</script>

I want to get value from specific div's onload function and then return that value to its specified div, but after running this script nothing is displayed on page 我想从特定的div的onload函数获取值,然后将该值返回到其指定的div,但是运行此脚本后,页面上没有任何显示

  1. You cannot use onload on a div element. 您不能在div元素上使用onload。 It will not work 不起作用

  2. Id's must be unique ID必须是唯一的

Try this solution, it's working as you wanted 尝试此解决方案,即可按需运行

 function mkid(){ var elements = document.getElementsByClassName('bxltr'); for(var i = 0; i< elements.length; i++) { var nitg = Number(elements[i].getAttribute("data-count")) +455+367*674; elements[i].innerHTML = nitg; } } window.onload = mkid; 
 <div data-count="4" class='bxltr'></div> <div data-count="9" class='bxltr'></div> <div data-count="7" class='bxltr'></div> 

You can use Document.querySelectorAll() with Array.prototype.forEach() and data attributes : 您可以将Document.querySelectorAll()Array.prototype.forEach()data属性一起使用

 document .querySelectorAll('.bxltr') .forEach(el => el.innerHTML = el.dataset.mk + 455 + 367 * 674); 
 <div data-mk="4" class="bxltr"></div> <div data-mk="9" class="bxltr"></div> <div data-mk="7" class="bxltr"></div> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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