我想做一个简单的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]);
    });


但这不起作用

最佳答案

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]);

    });

});

10-02 15:16