0

我有很多带有“mypoll”类的div。这是我的js代码:

var mypoll=[];

$(document).ready(function (){      
    mypoll=document.getElementsByClassName("mypoll");
});

for(var t=0; t<mypoll.length; t++) {
    mypoll[t].getElementsByClassName("deletePoll")[0].onclick=(function() {
        var currentI = t;
        return function() { 
            deletedMyPoll(currentI);
        };
    })();
}
function deletedMyPoll(i){
    var a=document.getElementsByClassName("mypoll")[0].innerHTML;
    alert(a);
}

我得到的错误是

cannot set property onclick of undefined. 

我的项目中有完全相同的代码(它又大又复杂,我不能在这里全部发布)但它不起作用。

它虽然适用于jsfiddle。

javascript中的全局变量有什么问题吗?我可以那样使用它们吗?

jsfiddle.net/Vwtmu

谢谢

4

2 回答 2

1

如果你打算使用 jQuery,你不妨使用它:

$(".mypoll").on('click', '.deletePoll', function () {

});
于 2013-02-08T06:47:41.790 回答
0

for 循环在 dom 准备好之前运行。

$(document).ready(function (){      
    mypoll=document.getElementsByClassName("mypoll");

    for(var t=0; t<mypoll.length; t++) {
        mypoll[t].getElementsByClassName("deletePoll")[0].onclick=(function() {
            var currentI = t;
            return function() { 
                deletedMyPoll(currentI);
            };
        })();
    }

});
于 2013-02-08T06:48:24.237 回答