Элемент незаполненного диапазона не виден

0

У меня есть элемент span в моем html

<span style="float: right;color: red; display: inline-block;" id="antcl_error"></span>

Но когда я проверил его видимость, тогда он говорит, что не видимо

$(document.body).find("#antcl_error").is(":visible");

Выше кода возвращает false, если пробел пуст

  • 1
    В чем проблема? Это часть документации
  • 0
    @ 4castle Почему он дает false, когда мой элемент span виден на экране
Показать ещё 7 комментариев
Теги:

2 ответа

1
Лучший ответ

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

Вы можете проверить значение видимости CSS:

if($("#antcl_error").css('visibility') != "hidden") {
   // visible
}

Согласно документации:

Элементы считаются видимыми, если они потребляют пространство в документе. Видимые элементы имеют ширину или высоту, которая больше нуля.

Элементы с видимостью: скрытые или непрозрачные: 0 считаются видимыми, так как они все еще потребляют пространство в макете.

1

Проверьте, нет ли режима отображения css:

if($('body').find("#antcl_error").css('display') != "none") {
   alert('visible')
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<span style="float: right;color: red; display:inline-block;" id="antcl_error"></span>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню