源生JS通过class类名选择元素的问题。
functiongetByClass(oParent,sclass)//定义参数(父节点,class名){varaEle=oParent.getElementsByTag...
function getByClass(oParent,sclass) //定义参数(父节点,class名)
{
var aEle=oParent.getElementsByTagName('*'); //选中父节点下所有元素
var aResult=[]; //定义一个空的数组,用来装所有的选出元素
var i=0;
for(i=0;i<aEle.length;i++)
{
if(aEle[i].className==sclass)
{
aResult.push(aEle[i]); //将选出的所有元素装入数组中
}
}
return aResult; // 循环完成后,返回数组里的值
}
这里是个封装好的,在class="xx" 时选中没问题,但是当class="xx yy"时就获取不到元素了,求教当同时有多个类名的时候应该怎样才能找到目标元素。 展开
{
var aEle=oParent.getElementsByTagName('*'); //选中父节点下所有元素
var aResult=[]; //定义一个空的数组,用来装所有的选出元素
var i=0;
for(i=0;i<aEle.length;i++)
{
if(aEle[i].className==sclass)
{
aResult.push(aEle[i]); //将选出的所有元素装入数组中
}
}
return aResult; // 循环完成后,返回数组里的值
}
这里是个封装好的,在class="xx" 时选中没问题,但是当class="xx yy"时就获取不到元素了,求教当同时有多个类名的时候应该怎样才能找到目标元素。 展开
1个回答
展开全部
for(i=0;i<aEle.length;i++)
{
var classes = aEle[i].className.split(/\s+/);
for(var j=0;j<classes .length;j++){
if(classes[j]==sclass)
{
aResult.push(aEle[i]); //将选出的所有元素装入数组中
break;
}
}
}
{
var classes = aEle[i].className.split(/\s+/);
for(var j=0;j<classes .length;j++){
if(classes[j]==sclass)
{
aResult.push(aEle[i]); //将选出的所有元素装入数组中
break;
}
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询