JS的dom对象获取求指点..
今天有一个需求是这样的,通过一个select的change事件,使用ajax获取哪些月份有配置(就当做是有记录就行了),并且将有配置的月份通过字符串,比如:
3,4,5,6,7 这样的形式返回。
代码如下
//年份选择器的change事件 $("#year").change(function(){ for(var i=1;i<=12;i++){ document.getElementById("month"+i).style.background="#c0c0c0"; } $.ajax({ type:"POST", data:{"yearSelect":$(this).val()}, dataType:"TEXT", url:"<%=path%>/rewardList.do?method=changeMonth", success:function(result){ if(result.trim()!=""){ var monthed=result.split(","); for(var i=0;i<monthed.length;i++){ var id="month"+monthed[i]; $("#"+id)[0].style.background="orange"; } } }, error:function(result){ alert("系统出错!"); } }); });
上面的代码中是没有问题的,但是这一句如果改为dom方式的js,那么最后一个月始终获取不到dom对象,该dom对象是存在的,数据也完全正常。
即,改为如下出错:document.getElementById(id).style.background="orange";
前面的都正常。
举例说明:
数据返回为 1,2,3,5,6的时候
month1,month2,month3,month5都能正常改变颜色,最后一个,不管最后是什么数字,总是出错,火狐的JS错误控制台提示:
document.getElement(...) is null 也就是说,他没有拿到这个对象,用JQUERY可以。
但是他又是真的存在啊。。所以费解。。
补充:web前端 , JavaScript ,