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>
posted @ 2014-09-03 13:14  Jerry很简单  阅读(1324)  评论(0编辑  收藏  举报