将多个元素传递给每个函数

时间:2014-12-02 16:16:23

标签: javascript jquery each

function generalShowPopup(click_element, show_elements) {
  click_element.on("click", function(event) {
    show_elements.each(function() {
      $(this).show();
    });
    event.preventDefault();
  });
}

使用上面的函数,我打算在点击某个链接时显示一个元素。

调用这样的函数(一秒参数)可以正常工作:

generalShowPopup($(".popup_link"), $(".popup") );

但是如何将两个元素传递给第二个参数,即在单击某个链接时显示两个元素?

2 个答案:

答案 0 :(得分:2)

只需在选择器字符串中使用逗号,,就没有理由使用.each()

generalShowPopup($(".popup_link"), $(".popup,.selecctor2, #selector3") );

无需使用每个:

function generalShowPopup(click_element, show_elements) {
    click_element.on("click", function(event) {
        event.preventDefault();
        show_elements.show();
    });
}

更快捷地编写所有这些

$(function() {
    $(".popup_link").on('click', function(event) {
        event.preventDefault();
        $(".popup,.selecctor2, #selector3").show();
    });
});

答案 1 :(得分:1)

$(".popup")是一个jQuery集合,

只需使用.add()方法:

generalShowPopup($(".popup_link"), $(".popup").add(".another") );