Как вы можете воздействовать только на те элементы, которые находятся в определенном состоянии представления в JQuery? - PullRequest
0 голосов
/ 09 июля 2009

У меня есть класс, с которым мне нужно выполнить некоторые действия, но Я хочу выполнить действие только с теми элементами класса, которые в данный момент отображаются .

Например, этот код скрывает все элементы класса pie, тогда как я хочу воздействовать только на те элементы, которые отображаются в данный момент, а не на те, которые в данный момент скрыты:

$(".pie").click(function () 
{      
  $(".pie").hide;
});

(переключение не то, что я ищу здесь)

Ответы [ 2 ]

3 голосов
/ 09 июля 2009

Вы можете использовать псевдоселектор : visible .

Так что-то вроде этого:

$(".pie").click(function () 
{      
  $(".pie:visible").hide;
});
0 голосов
/ 09 июля 2009

Другой вариант - использовать функцию is, а затем видимый селектор. Либо или делает то же самое, но мне нравится функция is, потому что она более понятна для людей, которые могут быть не очень знакомы с селекторами. Вот пример:

$(".pie").click(function () 
{      
if ($(".pie").is(':visible')){
  $(".pie").hide;
}
});
...