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

如何使用document.getElementsByTagName();方法获取页面所有checkbox对象
Q1:   如何使用document.getElementsByTagName();方法获取页面所有checkbox对象,并保存到一个对象(对象数组)中,我现在的做法如下:但这种做法只能获得单个对象。
var   inputs   =   document.getElementsByTagName( "input ");
for(var   i   =   0;   i <   inputs.length;   i   ++){
        //   inputs[i]
}

Q2:如果获取所有input和textarea集合,并合并成一个集合
var   inputs   =   document.getElementsByTagName( "input ");
var   textareas   =   document.getElementsByTagName( "textarea ");

这两个数组能组合吗?我用Array的concat方法连接失败。


------解决方案--------------------
var arr = new Array();
var inputs = document.getElementsByTagName( "input ");
for(var i = 0; i < inputs.length; i ++){
if(inputs[i].type == "checkbox ")
{
//添加到数组
}
}
------解决方案--------------------
建议你命名时最好易记点.这样在后面的获取值的时候比较容易判断.
var inputs = document.getElementsByTagName( "input ");
for(var i = 0; i < inputs.length; i ++){
if(inputs.type== "checkbox "&&inputs.name.indexOf( "xx ")!=-1)//这个可以把你要的CHECKBOX获取
{//do what you want to do}

}


------解决方案--------------------
function getAllCheckBox()
{
var checkBoxArray=new Array();
//获取所有的Input元素
var allInputObject=document.body.getElementsByTagName( "input ");
var checkBoxIndex=0;
for(var i=0; i <allInputObject.length; i++)
{
//获取input元素中的checkbox
if(allInputObject[i].type== "checkbox ")
{
checkBoxArray[checkBoxIndex]=allInputObject[i];
checkBoxIndex++;
}
}
//返回checkbox数组
return checkBoxArray;
}

该方法已通过测试,返回的就是你需要的CheckBox的数组。你可以试一下。
------解决方案--------------------
Q1:每个checkbox给出name属性,然后getElementsByName直接用名称获取不是更好吗?
Q2:貌似我也连接失败了。遍历吧~