jQuery "существует" функция с обратным вызовом - PullRequest
0 голосов
/ 22 декабря 2011

Расширение: https://stackoverflow.com/a/31047/235633

Можно ли как-нибудь расширить эту пользовательскую функцию jQuery для использования обратного вызова?По сути, я хочу иметь возможность иметь список селекторов и обнаруживать их существование, и если они существуют, мне нужно показать их.

Вместо того чтобы писать тысячу операторов if, я скорее пишу одну функцию, которая использует обратный вызови «это».

Парень написал:

jQuery.fn.exists = function(){return this.length>0;}

if ($(selector).exists()) {
    // Do something
}

Но мне нужно:

$('.selector1, .selector2, .selector3').exists(function({
    $(this).show();
});

Ответы [ 3 ]

3 голосов
/ 22 декабря 2011

jQuery будет проходить через них для вас.

$('.selector1, .selector2, .selector3').show();

Должен работать как задумано.

3 голосов
/ 22 декабря 2011

То есть, вы хотите показать те, которые существуют? Тогда вам не нужно:)

$('.selector1, .selector2, .selector3').show();
0 голосов
/ 22 декабря 2011

В общем случае вы можете использовать .each для этого:

$('.selector1, .selector2, .selector3').each(function({
  //some work involving $(this) 
});

Но в этом случае show работает на всех совпадающих элементах:

$('.selector1, .selector2, .selector3').show();
...