Я хочу проверить и отсортировать скрытые элементы. Можно ли найти все элементы с атрибутом display
и значением none
?
Я хочу проверить и отсортировать скрытые элементы. Можно ли найти все элементы с атрибутом display
и значением none
?
Ответы:
Вы можете использовать : visible для видимых элементов и : hidden, чтобы найти скрытые элементы. Для этого скрытого элемента установлен display
атрибут none
.
hiddenElements = $(':hidden');
visibleElements = $(':visible');
Чтобы проверить определенный элемент.
if($('#yourID:visible').length == 0)
{
}
Элементы считаются видимыми, если они занимают место в документе. Видимые элементы имеют ширину или высоту, которая больше нуля, то ссылка
Вы также можете использовать is () с:visible
if(!$('#yourID').is(':visible'))
{
}
Если вы хотите проверить значение отображения, то вы можете использовать css ()
if($('#yourID').css('display') == 'none')
{
}
Если вы используете дисплей, следующие значения display
могут иметь.
дисплей: нет
дисплей: встроенный
дисплей: блок
дисплей: элемент списка
дисплей: встроенный блок
Проверьте полный список возможных display
значений здесь .
Чтобы проверить свойство отображения с помощью JavaScript
var isVisible = document.getElementById("yourID").style.display == "block";
var isHidden = document.getElementById("yourID").style.display == "none";
display: block;
написано на основе JQuery. Я не могу проверить это вашим методом. Помоги мне.
$("element").filter(function() { return $(this).css("display") == "none" });
style="display: none;"
. Ответы будут использоваться :visible
и :hidden
завершатся неудачно, если вы хотите, чтобы конкретный элемент отображался, а родительский элемент скрыт, поскольку эти селекторы возвращают общую видимость на странице (что не задавалось вопросом).
visibility: 'hidden';
в css, поэтому проверка закончилась проверкой:$(this).css('visibility') != 'hidden'
В jQuery есть два метода проверки видимости:
$("#selector").is(":visible")
и
$("#selector").is(":hidden")
Вы также можете выполнять команды на основе видимости в селекторе;
$("#selector:visible").hide()
или
$("#selector:hidden").show()
:visible
также зависит от видимости родительского предка. Если предок display: none
всех потомков не будет виден независимо от display
состояния.
$('#selector').is(':visible');
:visible
также зависит от видимости родительского предка. Если предок display: none
всех потомков не будет виден независимо от display
состояния.