当前位置:编程学习 > JS >>

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 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,