我有很多与“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中的全局变量有问题吗?我可以这样使用吗?
谢谢
答案 0 :(得分:1)
如果你打算使用jQuery,你也可以使用它:
$(".mypoll").on('click', '.deletePoll', function () {
});
答案 1 :(得分: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);
};
})();
}
});