getElementsByName使用

查了下手册,getElementsByName()不能提取没有name属性的标签。div标签本身没有name属性,所以不能被提取。有name标签的主要是各种input标签,所以默认情况下getElementsByName()只能提取同名的input标签。但是,另一方面,getElementsByName()不仅仅能提取有name属性的标签,同时还包括了id属性为指定名称的标签,所以你把你的div的name换成id,可以得到想要的结果。

如果一定要用name来实现,只有自己编程,如下面的getDivsByName()函数所示:<div name="my_div"></div><div name="my_div"></div><div name="my_div">mydiv</div><div name="my_div">name</div><script type="text/javascript">function getDivsByName(sname){	var t = document.all ;	var divs=new Array();	for(var i=0;i<t.length;i++) if(t[i].name==sname) divs.push(t[i]);	return divs;}

var divs=getDivsByName("my_div");alert(divs.length

);for(i=0;i<divs.length;i++) alert(divs[i].innerText);</script>
时间: 2024-11-09 00:34:19

getElementsByName使用的相关文章

针对ie8等低版本浏览器document.getElementsByName方法不生效解决方法

function getByName(Name){ var i = document.getElementsByName(Name); if(i>0){ return i; }else{ var aele = document.getElementsByTagName('*'); var arr = []; for (var i = 0;i<aele.length;i++){ if(aele[i].getAttribute("name")==Name){ arr.push(

getElementById与getElementByName与getElementsByName

1.document.formName可以获取表单对象,但是为什么document.selectName不能获取下拉框对象呢?而用document.all.selectName才行?formName表单是小容器,是有儿女的已婚人,所以可以用点.来逐次指向其中的下一级对象儿女:document.all是IE特有,指整个窗口的文件对象(document),是大容器,儿孙满堂.selectName是独立网页控件,是单身汉,也是document.all的一员,因此document.all.selectN

javascript 如何正确使用getElementById,getElementsByName(), and getElementsByTagName()

WEB标准下可以通过getElementById(), getElementsByName(), and getElementsByTagName()访问DOCUMENT中的任一个标签. (1)getElementById(): getElementById()可以访问DOCUMENT中的某一特定元素,顾名思义,就是通过ID来取得元素,所以只能访问设置了ID的元素. (2)getElementsByName(): 该方法是通过NAME属性来获得元素,但注意区别:getElementById()中

ie用document.getElementsByName获取不到

document.getElementsByName('someName') 返回一个节点列表(数组) 注意:在IE下有些节点是没有name 属性的,就是用document.getElementsByName获取不到的.只有下面的tag有name属性: A, APPLET, attribute, BUTTON, EMBED, FORM, IMG, INPUT type=button, INPUT type=checkbox, INPUT type=file, INPUT type=hidden,

DOM方法 getElementsByName()方法

http://www.imooc.com/code/1583 getElementsByName()方法 返回带有指定名称的节点对象的集合. 语法: document.getElementsByName(name) 与getElementById() 方法不同的是,通过元素的 name 属性查询元素,而不是通过 id 属性. 注意: 1. 因为文档中的 name 属性可能不唯一,所有 getElementsByName() 方法返回的是元素的数组,而不是一个元素. 2. 和数组类似也有lengt

getElementById,getElementsByName,getElementsByTagName的区别

1.getElementById 作用:一般页面里ID是唯一的,用于准备定为一个元素 语法: document.getElementById(id) 参数:id :必选项为字符串(String) 返回值:对象; 返回相同id对象中的第一个,按在页面中出现的次序,如果无符合条件的对象,则返回 null example:document.getElementById("id1").value; 2.getElementsByName 作用:按元素的名称查找,返回一个同名元素的数组语法: d

document.getElementsByName(&quot;name&quot;)获取元素的value值失败

document.getElementsByName("name").value;像这样是获取不到值的,弹出的消息是 underfined: 原因getElementById是element单数,getElementsByName是elements复数. 正确方法:var x=document.getElementsByName("name")[0].value;或者:var x=document.getElementsById("id").va

跟随标准与Webkit源码探究DOM -- 获取元素之getElementsByName

按照name属性获取多元素 -- getElementsByName 标准 DOM 1 定义在HTMLDocument Interface 中,原型NodeList getElementsByName(in DOMString elementName),该方法不会抛出任何异常. DOM 2依然定义在HTMLDocument,原型不变,但是新增说明在 HTML4.0 里搜索范围为所有元素,而 XHTML 1.0 里搜索范围缩小到表单元素 DOM 3没有 DOM HTML 的标准,沿袭 DOM 2(

ie8以下不兼容document.getElementsByName解决方法

在IE8以认为只有文本标签才有name属性的,一些元素标签用document.getElementsByName获取不到DOM,如DIV,span等,这里做一下兼容. HTML: <div name="pox">我是pox</div> <div name="pox">我是pox</div> <div name="pox">我是pox</div> <div name=&q

getElementsByName

name属性,name属性是input标签的内建属性,早期浏览器的getElementsByName方法是为了方便的获取用户的输入.由于name只是input的内建属性,其它标签没有,所以getElementsByName方法不能在别的标签中识别这一属性,因此getElementsByName方法只能用于input标签,这也就是为什么你getElementsByName(‘ok’)得不到任何值的原因.