简体   繁体   English

如何使用javascript将文本或数字范围附加到div?

[英]How to append a text or number range to a div using javascript?

I inherited a JS file that goes like this: 我继承了一个像这样的JS文件:

    var id1 = document.getElementById("id1");
    var id2 = document.getElementById("id2");
    var id3 = document.getElementById("id3");
    var id4 = document.getElementById("id4"); //etc etc.

I was wondering if there is an easier way using plain Javascript to append a number to an id that has the same name, rather than listing each one out line by line. 我想知道是否有一种简单的方法可以使用纯Javascript将数字附加到具有相同名称的ID上,而不是逐行列出每个ID。

Please advise. 请指教。

Thanks! 谢谢!

 var nodes = []; var find = 6; for (var i = 1; i <= 6; i++) { nodes.push(document.getElementById('id' + i)); } console.log(nodes); 
 <div id="id1"></div> <div id="id2"></div> <div id="id3"></div> <div id="id4"></div> <div id="id5"></div> <div id="id6"></div> 


A more robust solution: 一个更强大的解决方案:

Use querySelectorAll to select elements that have id's that begin with id , then filter out the results that do not match id followed by a number. 使用querySelectorAll选择ID以id开头的元素,然后过滤出不匹配id的结果,后跟数字。

 var nodes = document.querySelectorAll('[id^="id"]'); nodes = [].slice.call(nodes).filter(function(node) { return /id\\d+/.test(node.id); }); console.log(nodes); 
 <div id="id1"></div> <div id="id2"></div> <div id="id3"></div> <div id="id4"></div> <div id="id5"></div> <div id="id6"></div> <!-- This node should not be included --> <div id="idea"></div> 

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

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