简体   繁体   English

GetElementsById中的自动增量ID

[英]auto increment id in GetElementsById

Please help me out to complete Id increment in getElementById() using loop. 请帮我完成使用循环在getElementById()中的ID增量。

<script type="text/javascript">
    document.getElementById('idA(increment)').onchange = function () {
     document.getElementById('idB(increment)').value = event.target.value
  }
</script>

instead of 代替

<script type="text/javascript">
  document.getElementById(\'idA1\').onchange = function () {
     document.getElementById(\'idB1\').value = event.target.value
  }

  document.getElementById(\'idA2\').onchange = function () {
     document.getElementById(\'idB2\').value = event.target.value
  }

  document.getElementById(\'idA3\').onchange = function () {
     document.getElementById(\'idB3\').value = event.target.value
  }
</script>

You can use a css class and use document.querySelectorAll('.my-class') . 您可以使用css类并使用document.querySelectorAll('.my-class')

var nodes = document.querySelectorAll('.my-class');

for (var i = 0; i < nodes.length; ++i) {
  nodes[i].onchange = function() {
    // Do what you want here
  };
}

As mentionned by NewToJS, you can also do var nodes = document.getElementsByClassName('my-class') . 如NewToJS所述,您还可以执行var nodes = document.getElementsByClassName('my-class')

You can use a class based lookup to target all the elements and then add the change event handler 您可以使用基于类的查找来定位所有元素,然后添加更改事件处理程序

 var els = document.getElementsByClassName('id-a'); for (var i = 0; i < els.length; i++) { els[i].addEventListener('change', function() { document.getElementById(this.id.replace(/^idA/, 'idB')).value = event.target.value }); } 
 <input id="idA1" class="id-a" /> <input id="idB1" /> <br /> <input id="idA2" class="id-a" /> <input id="idB2" /> <br /> <input id="idA3" class="id-a" /> <input id="idB3" /> <br /> <input id="idA4" class="id-a" /> <input id="idB4" /> <br /> 

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

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