读书人

JS取DOM的有关问题请

发布时间: 2012-09-28 00:03:35 作者: rapoo

JS取DOM的问题,请高手指点。

JScript code
<HTML> <HEAD><SCRIPT LANGUAGE="JavaScript"><!--    var items = document.getElementsByName("selectThings");    alert(items.length);//--></SCRIPT> <BODY>  <input type="checkbox" name="selectThings" value="" onclick="selectCheck(this)" />selectThings</br>  <input type="checkbox" name="selectThings" value="" onclick="selectCheck(this)" />selectThings</br>  <input type="checkbox" name="selectThings" value="" onclick="selectCheck(this)" />selectThings</br>  <input type="checkbox" name="selectThings" value="" onclick="selectCheck(this)" />selectThings</br>  <input type="checkbox" name="selectThings" value="" onclick="selectCheck(this)" />selectThings</br> </BODY> <SCRIPT LANGUAGE="JavaScript"> <!--    alert(items.length); //--> </SCRIPT></HTML>

以上代码,初始化执行结果是第一个alert出0,第二个alert出5.有人知道为什么吗?

[解决办法]
探讨
你要明白js是解释语言,加载到哪就运行到哪。在没有输出input前你就统计长度,所以是0 等后面已经加载了input所以就显示了5

[解决办法]
探讨

就算是保存引用,难道说浏览器在加载HTML的时候还会来改变JS变量里的值?

[解决办法]
应该是调用length属性的时候,就去会执行先前定义好的document.getElementsByName("selectThings")
[解决办法]

还没结贴呢,1楼和5楼都说那么清楚了的呀

Lz,你的问题在于你没有理解到代码的含义
JScript code
var items = document.getElementsByName("selectThings").length;alert(items); 

读书人网 >JavaScript

热点推荐