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