2015-08-28 5 views
0

Мне нужно выбрать теги <img>, которые уже исчезли с помощью jQuery fadeOut(). Моя идея - выбрать их с помощью селектора атрибутов css следующим образом: img[attr="smth"]. , но я не знаю, что представляет собой алгоритм jQuery для вытеснения элементов, и я не знаю, что он превращает ценность этого атрибута в то, что для того, чтобы затухать элементы. Я пробовал:Как элементы jQuery исчезают?

Console.log($("img").attr("opacity")); 
Console.log($("img").attr("display")); 
Console.log($("img").attr("visibility")); 

Но все они утешают говорит, не определено. Кто-нибудь знает, какой атрибут я должен использовать? Кто-нибудь знает какой-либо другой способ сделать это без использования селектора атрибутов css?

+0

Это не имеет ничего общего с селектором, который вы используете. 'attr()' не является селектором - это нечто совершенно другое. – BoltClock

+3

Как вы выбираете эти изображения для применения fadeOut()? Используйте тот же метод. Или добавьте определенный класс или идентификатор, пока вы fadeOut –

+1

Вы хотите настроить таргетинг на все скрытые или скрытые изображения с помощью '.fadeOut()'? Можете ли вы просто сделать '$ ('img: hidden')'? Кроме того, эти значения не являются атрибутами. Они являются частью CSS, который является атрибутом 'style'. Используйте '.css ('opacity');', '.css ('display');' или '.css ('visibility');' соответственно. – War10ck

ответ

1

FadeIn():

display:none; 

непрозрачности происходит от 0 до 1 в установленные сроки

display: block or inline etc.. 

непрозрачности происходит только для фрагмента второй (по умолчанию). Вы можете проверить, как это работает, проверяя элемент в вашем браузере;)

+0

да это он:) спасибо! Моя ошибка заключалась в использовании .attr вместо .css:) спасибо. –

3

Я предлагаю вам добавить класс, только когда исчезает элемент. Что-то вроде этого:

// ... is your selector 
$(...).fadeOut().addClass('img-faded'); 

После этого вы сможете получать все утрачен изображения:

var fadedImgs = $('img.img-faded'); 
+0

Спасибо за ваше творческое предложение, но в моем случае он не работает, так как у моих imgs уже есть классы, и мне нужны эти классы :) –

+2

@aran вы можете добавить несколько классов в свои элементы .. мне нравится это решение :) – b3da

+3

@aran ['.addClass()'] (https://api.jquery.com/addclass/) не удаляет предыдущие классы. Он добавляет только новый параметр, заданный параметром ... – War10ck

1
var arrFadedElements = []; 

// update YOUR-SELECTOR 
$(".YOUR-SELECTOR").fadeOut(function() { 
arrFadedElements.push($(this)); 
}); 

console.log(arrFadedElements)