JQuery单击事件多个元素事件

我的问题与此相关:jQuery对于多个元素的相同点击事件

但是,当我这样做时:

$('.class1, .class2').click(function() {
   some_function();
});

我总是对同一个对象使用相同的功能。 如果我想巩固以下两个陈述,例如:

$(".class1").click(function () {
  $(".classer1").slideToggle("slow");
});

$(".class2").click(function () {
  $(".classer2").slideToggle("slow");
});

他们为每个对象引用不同的对象 - 我可以巩固吗?

谢谢,奥利弗


你可以这样做:

$(".class1, .class2").click(function () {
  $(".classer"+$(this).attr('class').substr(-1)).slideToggle("slow");
});

只要你点击的元素只有一个类。 这.classer被点击的元素中拉出整数并将其附加到.classer 。 所以点击.class2将触发切换.classer2


你可能想看看add()。 用它来将选择器添加到选择堆栈。 像这样使用它:

$('.class1').add('.class2').click(function (e) {
    // Do whatever you want
})

我认为最好的方法是将数据属性添加到您为每个类使用的参考号,所以如果您有类似的东西

<div class="class1" data-ref-id="1"></div>

<div class="class2" data-ref-id="2"></div>

你可以像这样找到你引用的切换类:

$('.class1, .class2').click(function (e) {
    $('.' + NAME_OF_REFERENCED_TOGGLE_CLASS + this.data.refId).slideToggle('slow');
})
链接地址: http://www.djcxy.com/p/83449.html

上一篇: JQuery one click event for multiple element events

下一篇: How to set same url for different elements