Как получить элементы с атрибутом 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>

→ Ссылка