是否有办法为页面上的不同元素执行相同的代码?
$('.class1').click(function() {
some_function();
});
$('.class2').click(function() {
some_function();
});
相反,你可以这样做:
$('.class1').$('.class2').click(function() {
some_function();
});
谢谢
是否有办法为页面上的不同元素执行相同的代码?
$('.class1').click(function() {
some_function();
});
$('.class2').click(function() {
some_function();
});
相反,你可以这样做:
$('.class1').$('.class2').click(function() {
some_function();
});
谢谢
当前回答
另一种选择,假设你的元素存储为变量(如果你在一个函数体中多次访问它们,这通常是一个好主意):
function disableMinHeight() {
var $html = $("html");
var $body = $("body");
var $slideout = $("#slideout");
$html.add($body).add($slideout).css("min-height", 0);
};
利用jQuery链接,并允许使用引用。
其他回答
另一种选择,假设你的元素存储为变量(如果你在一个函数体中多次访问它们,这通常是一个好主意):
function disableMinHeight() {
var $html = $("html");
var $body = $("body");
var $slideout = $("#slideout");
$html.add($body).add($slideout).css("min-height", 0);
};
利用jQuery链接,并允许使用引用。
$('.class1, .class2').click(some_function);
确保你输入了一个像$('的空格。Class1,空格。class2')否则不行。
我通常用on代替click。它允许我向特定函数添加更多的事件侦听器。
$(document).on("click touchend", ".class1, .class2, .class3", function () {
//do stuff
});
只需使用$('。Myclass1, .myclass2, .myclass3')用于多个选择器。同样,你也不需要lambda函数来将现有的函数绑定到click事件。
如果你有或想保持你的元素作为变量(jQuery对象),你也可以循环它们:
var $class1 = $('.class1');
var $class2 = $('.class2');
$([$class1,$class2]).each(function() {
$(this).on('click', function(e) {
some_function();
});
});