请WEB前台的大神帮忙看看,这段代码兼容有关问题

请WEB前台的大神帮忙看看,这段代码兼容问题。
   function goSearch(s) {//模糊查询

    var div = document.getElementById('kwu');
    div.style.display = 'block';
    var ul = div.childNodes.item(0);
    var lis = document.getElementById("pk_ul").getElementsByTagName('li');
    var o;
    var ss;
    for (i = -1; i < lis.length; i++) {
        o = document.getElementById("d" + (i + 1));
        ss = innerText(o);
        if (ss.toLowerCase().indexOf(s.toLowerCase()) != -1) {
            o.style.display = "block";
        }
        else {
            o.style.display = "none";
        }
    }
}
//document.all 只能在IE或IE内核的浏览器有效
function innerText(o) {
    return document.all ? o.innerText : o.textContent;
}
    }

以上这段代码,我在360浏览器,谷歌浏览器下测试没有问题,但是在IE8下测试,这里return document.all ? o.innerText : o.textContent;提示:运行时错误: 缺少对象。请问这个兼容性问题如何处理。

------解决方案--------------------
for (i = 0; i < lis.length; i++) {
o = document.getElementById("d" + i );

试试
------解决方案--------------------
参考: Plain Text vs innerText vs textContent
不用管document.all

function innerText(node) {
    return node.textContent 
------解决方案--------------------
 node.innerText;
}

------解决方案--------------------
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript">
window.onload=function(){
function innerText(o) {
return document.all ? o.innerText : o.textContent;
}
alert(innerText(document.getElementById('test')));
}
</script>
</head>

<body>
<div id="test">123</div>
</body>
</html>

没问题阿