当前位置:  开发笔记 > 编程语言 > 正文

$(d).attr("id")是未定义的javascript

如何解决《$(d).attr("id")是未定义的javascript》经验,为你挑选了1个好方法。

我有一个变量d,我用这个:

$(function() {  
    for(i = 1; i <= 31; i++) {
        var d = '#days' + i;    
        if ($(d).attr("id").substr(4,2) == 11) {
            $(d).addClass("date_has_event");
            //console.log("diez");
        } else {
            console.log("otro");
        }
    }
}

但是我在firebug中收到以下错误:


$(d).attr("id") is undefined
index.html    (L23)   (?)()()
jquery.min.js (L27)   onreadystatechange()()
jquery.min.js (L27)   onreadystatechange()()
jquery.min.js (L21)   nodeName()([function(), function()], function(), undefined)
onreadystatechange()()

我真的不明白为什么.有人知道吗?


编辑

对于我必须运行的糟糕解释,我感到很遗憾,这里的内容更加详细.我正在使用javascript生成日历.每个td有一个不同的id(因此#days + i),我从1到31运行它,所以我可以覆盖更长的月份.但是我收到了上面提到的错误.我也使用jQuery库让我更容易选择(即代替getElementById #days)



1> tj111..:

为什么不检查一下i == 11,然后对它进行处理?它仍然只会开火$('#days11').编辑:如果你需要确保元素存在,只需将其打入条件.

$(function(){   
    for(i = 1; i <= 31; i++){
        var d = '#days' + i;    

//       if($(d) && i == 11){            
         if(i == 11){
               $(d).addClass("date_has_event");
               //console.log("diez");
         }else{
               console.log("otro");
         }
    }
}

推荐阅读
135369一生真爱_890
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有