Как получить элементы с атрибутом style="display: none"
элементы с атрибутом style="display: none"?
<div>1</div>
<div>2</div>
<div style="display: none">3</div>
<div style="display: none">4</div>
Ответы (3 шт):
Автор решения: Алексей Шиманский
→ Ссылка
$('div[style*="display: none"]').each(function() {
console.log($(this).text());
});
// Или так
$('div:hidden').each(function() {
console.log($(this).text());
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script>
<div>1</div>
<div>2</div>
<div style="display: none">3</div>
<div style="display: none">4</div>
Автор решения: Meru382
→ Ссылка
На чистом JS
let els = document.getElementsByTagName('div');
for (var i = 0, el; el = els[i]; i++) {
if (getComputedStyle(el).display == 'none') {
// сюда попадаем если такие элементы найдены
el.style.display = 'block';
el.style.color = 'red';
}
}
<div>1</div>
<div>2</div>
<div style="display: none">3</div>
<div style="display: none">4</div>
Автор решения: Pavel Nazarian
→ Ссылка
let hiddenElements = [...document.querySelectorAll('div')].filter(el => el.style.display == 'none');
console.log(hiddenElements)
// второй вариант менее надежн, потому что лишние пробелы или их отсутствие в строке атрибута выдадут неверный результат.
let hiddenElements1 = [...document.querySelectorAll('div[style="display: none"]')]
console.log(hiddenElements1)
<div>1</div>
<div>2</div>
<div style="display: none">3</div>
<div style="display: none">4</div>