Javascript:未捕获TypeError:无法读取属性' childNodes'未定义的

时间:2015-09-11 08:40:05

标签: javascript google-chrome internet-explorer

我遇到以下javascript代码的问题。当我调用该函数时,在IEChrome的控制台中出现错误:

  

未捕获的TypeError:无法读取属性' childNodes'未定义的

这是javascript

function getline(nline) {
    var combo = window.document.getElementById("combox");
    if (nline == activeline) {
        return;
    }
    if (nline > combo.childNodes[0].childNodes.length) return;
    if (nline <= 0) return;
    if (activeline > 0) {
        if (activeline % 2 == 0) combo.childNodes[0].childNodes[activeline - 1].className = "color1";
        else combo.childNodes[0].childNodes[activeline - 1].className = "color2";
    }
    if (nline > 0) {
        combo.childNodes[0].childNodes[nline - 1].className = "current";
        activeline = nline;
    }
    combo.childNodes[0].childNodes[activeline - 1].focus(); }

并且Chrome的控制台说,问题出在这一行:

if (nline > combo.childNodes[0].childNodes.length) return;

我读到使用getelementsbytagname可以修复,但我不知道如何适应这个脚本。

更新:这是html部分:

<script>
  function putfileinit(nline) {
    document.getElementById("divcombo").scrollTop = (nline - 1) * 15;
    getline(nline);
}
</script>

<div id="divcombo" >
    <table id="combox" class="combox" border="0" cellspacing="0" cellpadding="5"></table>
</div>
<script DEFER>
    putfileinit(1);
</script>

任何帮助都将不胜感激。

感谢。

1 个答案:

答案 0 :(得分:0)

添加

 if (nline > combo.childNodes[0].childNodes.length) return;

price