正如另一個答案中提到的,您的直接問題是您要添加字符串,尤其是字符串DOM元素上的value
屬性。你會發現任何關於這個問題的問題。
如果您在數組中的元素,尋找和剛剛成爲
function add(a, b) { return a + b; }
function sum(array) { return array.reduce(add); }
sum(elements.map(function(elt) { return +elt.value; });
但是,你也可用使用的ID作爲識別和轉診來的,窮人的方式的反模式DOM元素。最好只是在創建和添加元素時記住元素本身(如果實際上這是它們被創建的方式)。這樣,您不必花費剩餘的實時構建ID並將其添加到元素,然後再次構建它們以傳遞到getElementById
以再次找到它們。通過「記憶元素本身爲您創建它們」,我的意思,而不是做這樣的事情:
for (i=0; i<n; i++) {
var elt = document.createElement('div');
elt.setAttribute('id', 'total_' + i);
parent.appendChild(elt);
}
或等值jQuery的,這樣做
var elements = [];
for (i=0; i<n; i++) {
var elt = document.createElement('div');
elements.push(elt);
parent.appendChild(elt);
}
現在你有數組元素本身,並且您不必每次訪問getElementById
時都會用到它們。