1

シンプルな onClick イベントを作りたい

$('._1').click(function(){
        window.open('abc.html?parameter=1');
    });

上記の場合、クラスとして_1があり、そのような要素が複数あり、ここで1はwindow.openリクエストのパラメーターとしても機能します

しかし、バインドしたいクリックイベントが複数あります

var arrayOfValues = [1,2,4,6,7,8];
for(var z=0;z<arrayOfValues.length;z++)
    $('._'+arrayOfValues[z]+'').click(function(){
        window.open('abc.html?parameter='+arrayOfValues[z]);
    });

しかし、これは機能していません

4

1 に答える 1

2
var arrayOfValues = [1,2,4,6,7,8];

$.each(arrayOfValues, function(key, val) {

   for(var z=0;z<arrayOfValues.length;z++) {
     $( '._'+arrayOfValues[z] ).click(function(){
                             ^ -- dont need quote here
       window.open('abc.html?parameter='+arrayOfValues[z]);

     });
   }

   // jQuery loop
   $( '._' + val ).click(function(){

        window.open('abc.html?parameter='+arrayOfValues[z]);

    });

});

ただし、ページの読み込み後に要素がドキュメントに追加される場合は、デリゲート イベント ハンドラーを試してください.on()

var arrayOfValues = [1,2,4,6,7,8];

$.each(arrayOfValues, function(key, val) {

    $('body').on('click', '._'+ arrayOfValues[z], function(){

        window.open('abc.html?parameter='+arrayOfValues[z]);

    });

});
于 2012-06-02T20:16:21.000 に答える