Подтвердить что ты не робот

JQuery: проверьте, скрыт ли элемент от пользователя

Как проверить, скрыт ли конкретный элемент от пользователя? В моем коде при определенных условиях этот код будет вызываться:

$("#VersionSelectField").hide('fast');

Поэтому я должен убедиться, что если $("#VersionSelectField") скрыто, тогда мне не нужно будет проверять значение внутри него при отправке формы (я использую JQuery Validate library для этой цели).

Любые идеи?

4b9b3361

Ответ 1

$("#VersionSelectField").is(':hidden');

Ответ 2

Это работает для меня:

$("#VersionSelectField").css("display") == "none";

Ответ 3

Попробуйте $("#versionselectfield[display='none']").length > 0.

Ответ 4

Вы можете использовать обратный вызов метода hide(). Например:

$("#VersionSelectField").hide('fast', function() {
    GlobalVersionSelectFieldHidden = true;
});

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

В качестве альтернативы, проверка того, является ли отображение "нет", как предлагает Mark, также работает, поскольку эффект JQ полностью скроет вещи, используя это свойство css.