日期:2014-05-16  浏览次数:20535 次

有关“意外地调用了方法或属性访问”的一个问题
网上查了很多有关这条错误的信息,貌似和我的都不一样

主要发生错误的代码如下
JScript code
var oMain = $("main");
while(oMain.childNodes.length){
    oMain.removeChild(oMain.firstChild);
}


oMain这个对象绝对没有问题,并且底下也有为数不少的child。

利用犀牛书上提供的isArray函数检测oMain.childNodes结果是false,但是oMain.childNodes.length却有值

只在IE中会产生错误,并且不影响脚本继续运行,FF中没有任何提示。

实在是不知道为什么会发生这条错误。

------解决方案--------------------
通过IE6, FF3.5测试,不知道LZ怎么写的

JScript code

<!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>
</head>
<body>
<ul>
<li>1</li>
<li>1</li>
<li>1</li>
<li>1</li>
<li>1</li>
<li>1</li>
<li>1</li>
</ul>
<input type="button" value="sdf" id='t' />
<script type="text/javascript">
    document.getElementById('t').onclick= function() {
        var s = document.getElementsByTagName('ul')[0];
        while(s.childNodes.length) {
            s.removeChild(s.firstChild);
        }
    }
</script>
</body>
</html>