#javascript
#javascript
Вопрос:
window.onload = raknaUtMedelvarde;
function raknaUtMedelvarde(){
var tabell = document.getElementById("temperaturtabell");
var rader = tabell.getElementsByTagName("tr");
for (var i = 0; i < rader.length; i ){
var tabellcell = rader[i].getElementById("td");
//räkna ut medelvärde
var medel = medelVarde(tabellcell);
var medelText = document.createTextNode(medel);
var medelElement = tabellcell[tabellcell.length - 1];
medelElement.appendChild(medelText);
}
}
function medelVarde(celler){
var summa = 0;
for (var i = 1; i < celler.length - 1; i ){
var nuvarandeVarde = celler[i].firstChild.nodeValue;
summa = summa parseInt(nuvarandeVarde);
}
return summa / 5;
Согласно консоли ошибок в Firefox, эта переменная «tabellcell: var tabellcell = rader[i].getElementById(«td»);» не является функцией? uhn?
Комментарии:
1.
medelVarde()
Ожидает ли функция в качестве аргумента?2. Вы также должны опубликовать свою функцию medelVarde().
3. @ Marcel да, в моих таблицах 6 ячеек…
Ответ №1:
вы не можете использовать
rader[i].getElementById("td");
getElementById — это метод объекта document. переменная rader содержит некоторые другие объекты (element objects) Я предполагаю.
объекты element имеют только getElementsByTagName
и getElementsByClassName
вы можете их использовать.
Комментарии:
1. Я подумал то же самое, но причина этой ошибки не в этом: jsfiddle.net/fkling/VPq8y/1
2. Исправление: Нет, это действительно причина. Я забыл отменить выбор Mootools в качестве библиотеки, и, похоже, это добавляет
getElementById
функцию к элементам. NVM!3. @MarcelKorpel: Нет … но у меня есть оправдание: вчера был мой день рождения, и я все еще немного устал : D 😉 Может быть, мне стоит прекратить писать nonesense сейчас и начать чистку… я полагаю, так лучше для всех 🙂
Ответ №2:
Я думаю, что ошибка в этой строке
var tabellcell = rader[i].getElementById("td")
Замена getElementById на getElementsByTagName
var tabellcell = rader[i].getElementsByTagName("td")
Комментарии:
1. @ Marwan привет! Отлично!!!!!! это было: getElementsByTagName(«td») ^_^) большое спасибо!!
2. только, пожалуйста, не забудьте отметить мой ответ как правильный, если он был вам полезен в моем отношении 🙂
3. в левой части моего ответа есть правильный знак, просто нажмите на него, и все будет сделано 🙂 а также вы также можете использовать стрелку вверх рядом с моим ответом 🙂