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

时间:2018-06-21 13:42:11

标签: javascript

<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>

我想从特定的div的onload函数获取值,然后将该值返回到其指定的div,但是运行此脚本后,页面上什么都没有显示

2 个答案:

答案 0 :(得分:0)

  1. 您不能在div元素上使用onload。

  2. Id必须是唯一的

尝试此解决方案,即可按需运行

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>

答案 1 :(得分:0)

您可以将Document.querySelectorAll()Array.prototype.forEach()data attributes结合使用:

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>