一个js中document.getElementsByName拿不到值的问题 请大神们指教
自己写的一个小js日历控件循环动态添加天数的DIVfor(vari=1;i<dayNum+1;i++){if(i>9){innerHtml+="<divname='day...
自己写的一个小js日历控件 循环动态添加天数的DIV
for(var i=1;i<dayNum+1;i++){
if(i>9){
innerHtml+="<div name='days' style='margin:4px;width:5px;float:left;background-color:#aaa' onclick='dateSure("+i+")' onmouseover='changeStyle(this)'>"+i+"</div>";
}else{
innerHtml+="<div name='days' style='margin:4px;width:5px;float:left;background-color:#aaa' onclick='dateSure("+i+")' onmouseover='changeStyle(this)'> "+i+"</div>";
}
}
在后面的js中
function changeStyle(obj){
var allItems=document.getElementsByName(obj.getAttribute("name"));
alert(document.getElementsByName("days").length);
alert(obj.getAttribute("name"));
for(i=0;i<allItems.length;i++){
allItems.item(i).style.backgroundColor="#aaa";
}
obj.style.backgroundColor="#96f";
}
alert出来的长度是0
第二个alert出来name明明有值
请各位达人指点一下 小弟不胜感激
答1楼回答: 我没有用document.getElementById
document.getElementsByName()[索引]和document.getElementsByName.item(索引)都可以拿到东西 目前我遇到的问题是 明明有name为days的div但是 我拿的时候返回的数组length为0 也就是说 拿不到我想要的div们 展开
for(var i=1;i<dayNum+1;i++){
if(i>9){
innerHtml+="<div name='days' style='margin:4px;width:5px;float:left;background-color:#aaa' onclick='dateSure("+i+")' onmouseover='changeStyle(this)'>"+i+"</div>";
}else{
innerHtml+="<div name='days' style='margin:4px;width:5px;float:left;background-color:#aaa' onclick='dateSure("+i+")' onmouseover='changeStyle(this)'> "+i+"</div>";
}
}
在后面的js中
function changeStyle(obj){
var allItems=document.getElementsByName(obj.getAttribute("name"));
alert(document.getElementsByName("days").length);
alert(obj.getAttribute("name"));
for(i=0;i<allItems.length;i++){
allItems.item(i).style.backgroundColor="#aaa";
}
obj.style.backgroundColor="#96f";
}
alert出来的长度是0
第二个alert出来name明明有值
请各位达人指点一下 小弟不胜感激
答1楼回答: 我没有用document.getElementById
document.getElementsByName()[索引]和document.getElementsByName.item(索引)都可以拿到东西 目前我遇到的问题是 明明有name为days的div但是 我拿的时候返回的数组length为0 也就是说 拿不到我想要的div们 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询