как изменить все видимое: скрыто на дисплее: нет на jquery? - PullRequest
0 голосов
/ 28 января 2020
<div style="visibility:hidden;">a</div>
<div style="visibility:visible;">b</div>
<div style="visibility:hidden;">c</div>
<div style="visibility:visible;">d</div>

if($('*').css( "visibility", "hidden" )
{
    $(This).css("display", "none");
}

Как выполнить поиск по всей странице, чтобы найти все элементы, которые видимость: скрытые, а затем добавить отображение: нет на нем? Что-то вроде кода выше:

Ответы [ 2 ]

1 голос
/ 28 января 2020

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

$('div[style="visibility:hidden;"]').css('display', 'none')
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div style="visibility:hidden;">a</div>
<div style="visibility:visible;">b</div>
<div style="visibility:hidden;">c</div>
<div style="visibility:visible;">d</div>

Вместо этого выберите нужные элементы и l oop поверх них убедитесь, что каждый из них установлен на видимый или скрытый.

$('div').each(function () {
  if (this.style.visibility === 'hidden') {
    $(this).css('display', 'none')
  }
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div style="visibility:hidden;">a</div>
<div style="visibility:visible;">b</div>
<div style="visibility:hidden;">c</div>
<div style="visibility:visible;">d</div>
0 голосов
/ 28 января 2020

Это работает:

$('*').each(function(index, el) {
  if (el.style.visibility == 'hidden')
    el.style.display = 'none';
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...