Вы можете просто использовать jQuery-селектор :visible или :hidden для выбора всех видимых или скрытых элементов на HTML-странице. jQuery-селектор :visible считается видимым элементом, если он занимает место в документе. Это означает, что элементы с visibility: hidden; или opacity: 0; считаются видимыми, поскольку они по-прежнему сохраняют пространство в макете.

Давайте посмотрим следующий пример, чтобы понять, как это работает:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery Get All Visible and Hidden Elements</title>
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<style>
    .box{
        padding: 50px;
        margin: 20px 0;
        display: inline-block;
        font: bold 22px sans-serif;
        background: #f4f4f4;
    }
    .hidden{
        display: none;
    }
</style>
<script>
$(document).ready(function() {
    // Получаем видимые элементы
    $(".get-visible-btn").click(function(){
        var visibleBoxes = [];
        $.each($(".box"), function(){ 
            if($(this).is(":visible")) {
                visibleBoxes.push($(this).text());
            }
            
        });
        alert("Visible boxes are - " + visibleBoxes.join(", "));
    });
    
    // Получаем скрытые элементы
    $(".get-hidden-btn").click(function(){
        var hiddenBoxes = [];
        $.each($(".box"), function(){ 
            if($(this).is(":hidden")) {
                hiddenBoxes.push($(this).text());
            }
        });
        alert("Hidden boxes are - " + hiddenBoxes.join(", "));
    });
});
</script>
</head>
<body>
    <div class="box">Box A</div>
    <div class="box hidden">Box B</div>
    <div class="box">Box C</div>
    <div class="box hidden">Box D</div>
    <div class="box">Box E</div>
    <br>
    <button type="button" class="get-visible-btn">Get Visible Boxes</button>
    <button type="button" class="get-hidden-btn">Get Hidden Boxes</button>
</body>
</html>

Читайте также

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 5 / 5. Количество оценок: 1

Оценок пока нет. Поставьте оценку первым.