Javascript无法找到Div元素名称
问题描述:
此代码昨天让我感到惊讶,我对发生了什么事情感到好奇。Javascript无法找到Div元素名称
如果我指的是我知道的Div元素在表单中的页面上,甚至使用getElementsByName复制/粘贴确切名称,以下内容可能找不到它。
var coll = document.getElementsByName("txtState"); //coll will be null
如果我得到页面上的所有Div标签,并遍历它们看着名称属性,我可以找到正确的Div元素。
那么,怎么了?为什么Javascript无法获得特定元素?为什么我必须遍历集合?
答
从here:
我们继续之前,我们应该澄清一些误传的几本书,并在互联网上:相反的是有些人所说,有使用的名称属性从没有合法的方式根据W3C HTML 4.01规范,这些标签是div或span。您必须将此属性的用法限制为输入,img,框架,iframe,表单,映射,参数,元,对象,A,select,applet,textarea或按钮等标签。
因此,“名称”不是div的有效属性,这就是getElementsByName不起作用的原因。
答
我一直依靠使用getElementById('SomeId')并确保设置了DIV标签的ID属性。
用你的DIV试试这个,它应该可以解决你的javascript问题。
请使用格式。 –
Gumbo
2009-02-20 18:04:53
从技术上讲,div元素不允许使用name属性。仅适用于表单,表单域,框架,iframe等。 – scunliffe 2009-02-20 18:22:05