2016-07-14 53 views
0

我繼承了是這樣的JS文件:如何將文本或數字範圍追加到使用JavaScript的div?

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

我在想,如果有使用普通的JavaScript多項追加到具有相同的名稱,而不是列出每一個出一個id一個更簡單的方法逐行。

請指教。

謝謝!

+0

你到底要什麼追加? – dfsq

+0

只是一個數字標識符,因爲DOM有50個具有相同元素ID的元素 - 例如「bill」,帶有上面例子「bill1」,「bill2」中指出的數字標識符。想想也許有辦法減少這個長列表的寫作:-)謝謝 – user2163224

+0

嘗試使用['for'循環](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for) – Hamms

回答

1

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>


一個更強大的解決方案:

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

相關問題