在使用JavaScript写JSP页面时,我们经常使用getElementsByName("")方法。但是很多标签使用此方法并不可行。
name属性是input标签的内建属性,早期浏览器的getElementsByName方法是为了方便的获取用户的输入。由于name只是input的内建属性,其它标签没有,所以getElementsByName方法不能在别的标签中识别这一属性,因此getElementsByName方法只能用于input标签。
未解决此问题,我总结了两种解决方案:
1.使用jQuery来获取。
例:var statusList=getTdsByName("status"); 替换为 var statusList=$('[name=status]');
2.添加方法
例:开发过程中我是用getElementsByName获取相同name的div标签,但是div本身没有Name属性,然后参考网上的办法,可以自己写方法来获取。如下:
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;
}