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 に答える