jQuery目标是两个通配符类

时间:2017-08-24 14:15:43

标签: jquery

是否可以在jQuery中使用/ target两个通配符类?在同一个变量中,所以我不必创建两个变量,因此两个函数做同样的事情。

我怀疑它可能是以下但是这没效果:

var triggers = $('[class^="polaroid-carousel__"].trigger', '[class^="polaroid-carousel__"].trigger');

当前代码:

var triggers = $('[class^="polaroid-carousel__"].trigger');
var triggers2 = $('[class^="social-wall__"].trigger');

$(triggers).each(function() {
  $(this).on('click', function() {
    $('#modal-holder').modal('show');
    var triggerTarget = $(this).data('target');
    $(triggerTarget).show();
    $('#modal-holder').on('hidden.bs.modal', function () {
      $(triggerTarget).modal('hide');
    });
  })
});

$(triggers2).each(function() {
  $(this).on('click', function() {
    $('#modal-holder').modal('show');
    var triggerTarget = $(this).data('target');
    $(triggerTarget).show();
    $('#modal-holder').on('hidden.bs.modal', function () {
      $(triggerTarget).modal('hide');
    });
  })
});

编辑:

到目前为止提供的答案工作,我刚刚意识到它现在触发了单击一个。它需要同时触发一个或另一个而不是两个,只是意识到这是我认为的设置错误。

1 个答案:

答案 0 :(得分:0)

只需将选择器组合成一个选择器......



var $triggers = $('[class^="polaroid-carousel__"].trigger, [class^="social-wall__"].trigger');

$triggers.on('click', function() {
    $('#modal-holder').modal('show');
    var triggerTarget = $(this).data('target');
    $(triggerTarget).show();
    $('#modal-holder').one('hidden.bs.modal', function () {
      $(triggerTarget).modal('hide');
    });
});