为什么这个变量导致“不是函数”错误?

时间:2011-05-02 10:33:02

标签: 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?

2 个答案:

答案 0 :(得分:3)

你不能使用

rader[i].getElementById("td");

getElementById是文档对象的方法。 rader变量包含一些我认为的其他对象(元素对象)。

元素对象只能使用getElementsByTagNamegetElementsByClassName

答案 1 :(得分:1)

我认为错误就在那一行

 var tabellcell = rader[i].getElementById("td")

用getElementsByTagName

替换getElementById
  var tabellcell = rader[i].getElementsByTagName("td")