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

为什么同一个写法在不同页面有时报错有时正确呢
比如我要用javascript取页面上一个控件的名字,这个控件的id和name都已经赋了相同的值,这时我用:
document.all.ControlName
document.all(ControlName)
document.all.item(ControlName,0)
document.getElementsByName(ControlName)
document.getElementsByID(ControlName)
五种写法,在不同的页面有时会报错,有时正确,而且我找不出这个规律,页面都是普通的页面,没有什么会对javascript有特别影响的地方啊。
哪位高人能指点一下,谢谢了。


------解决方案--------------------
关于all的各种用法,这里将的很清楚了。
http://msdn.microsoft.com/workshop/author/dhtml/reference/collections/all.asp

document.getElementsByName(ControlName)
document.getElementsByID(ControlName)
两种写法,按照标准的做法,document.getElementsByName只用在表单元素里面,
document.getElementsByID可以使用在任何控件里面。
对于伪属性,不支持document.getElementsByName,例如
<div name= "x ">
就不适合使用document.getElementsByName
------解决方案--------------------
document.all.ControlName
对于动态创建的元素不起作用~~~


最好统统都用document.getElementById()
那最容易记了~~`