2014-12-02 4 views
0
function generalShowPopup(click_element, show_elements) { 
    click_element.on("click", function(event) { 
    show_elements.each(function() { 
     $(this).show(); 
    }); 
    event.preventDefault(); 
    }); 
} 

С помощью вышеуказанной функции я намерен показать элемент при нажатии на определенную ссылку.Передайте несколько элементов каждой функции

Вызов функции, как это (один второй аргумент) работает отлично:

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

Но как я мог пройти два элемента ко второму аргументу, то есть показать, два элемента, когда определенная связь нажата?

+0

Вы имеете в виду два элемента, в то время, или только два элемента? Я имею в виду, что это .each, поэтому он может отображать два элемента, если селектор .popup соответствует двум элементам. –

ответ

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

$(".popup") является JQuery Collection,

Просто используйте .add() метод:

generalShowPopup($(".popup_link"), $(".popup").add(".another")); 
Смежные вопросы