javascript:获取所有id中包含某关键字的控件

//获取某容器控件中id包含某字符串的控件id列表
//参数:容器控件、要查找的控件的id关键字、要查找的控件的标签名称

//返回值:查找到的控件id列表字符串,以逗号分割。

 

代码
function GetIdListBySubKey(container,subKey,TagName)
{

        
var idList = "";
 
        
for(var i = 0; i < container.childNodes.length;i++)
        {
            
if(container.childNodes[i].nodeName == TagName && container.childNodes[i].id.indexOf(subKey) > -1)
            {
                idList 
+= container.childNodes[i].id + ",";
            }
           
            
if(container.childNodes[i].childNodes.length > 0)
            {
               idList 
+= GetIdListBySubKey(container.childNodes[i],subKey,TagName)
            }
        }
        
return idList;
}

 

 

可以用来获取GridView中的控件。 

改进:可以去掉TagName参数

//获取某容器控件中id包含某字符串的控件id列表
//参数:容器控件、要查找的控件的id关键字

//返回值:查找到的控件id列表字符串,以逗号分割。 

 代码

function GetIdListBySubKey(container,subIdKey)
{

        
var idList = "";
 
        
for(var i = 0; i < container.childNodes.length;i++)
        {
            
if(container.childNodes[i].attributes != null && container.childNodes[i].attributes["id"!= undefined && container.childNodes[i].id.indexOf(subIdKey) > -1)
            {
                idList 
+= container.childNodes[i].id + ",";
            }
           
            
if(container.childNodes[i].childNodes.length > 0)
            {
               idList 
+= GetIdListBySubKey(container.childNodes[i],subIdKey)
            }
        }
        
        
return idList;
        
}

 

如:GetIdListBySubKey(document,"txt_Money")

 

改进:直接返回控件数组

//获取某容器控件中id包含某字符串的控件数组
//参数:容器控件、要查找的控件的id关键字

//返回值:查找到的控件数组

 

代码
function GetConListBySubKey(container,subIdKey)
{

        
var reConArry = [];
 
        
for(var i = 0; i < container.childNodes.length;i++)
        {
            
if(container.childNodes[i].attributes != null && container.childNodes[i].attributes["id"!= undefined && container.childNodes[i].id.indexOf(subIdKey) > -1)
            {
                reConArry.push(container.childNodes[i]);
            }
           
            
if(container.childNodes[i].childNodes.length > 0)
            {
               
var re = GetConListBySubKey(container.childNodes[i],subIdKey)
               
for(var k = 0;k<re.length;k++)
               {
                    reConArry.push(re[k]);
               }
            }
        }
        
        
return reConArry;
        
}

 

 

 

posted on 2010-11-25 15:26  blair0807  阅读(1120)  评论(0编辑  收藏  举报