我遇到以下javascript
代码的问题。当我调用该函数时,在IE
或Chrome
的控制台中出现错误:
未捕获的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>
任何帮助都将不胜感激。
感谢。
答案 0 :(得分:0)
添加
if (nline > combo.childNodes[0].childNodes.length) return;
前
price