¿Cómo encuentra todos los elementos que están vacíos en jQuery?

En este artículo, veremos cómo encontrar todos los elementos en la página que están vacíos usando jQuery.

Enfoque 1: el selector :empty se puede utilizar para obtener todos los elementos de la página que actualmente están vacíos. Estos elementos se iteran usando el método each() y se puede acceder a ellos usando la referencia this dentro del ciclo.

Se puede seleccionar un tipo particular de elemento especificando el tipo de elemento frente al selector deshabilitado; de lo contrario, se seleccionan todos los elementos en la página. Por ejemplo, podemos especificar que solo los elementos de entrada y área de texto deben verificarse si están vacíos.

Sintaxis:

$(".btn").on("click", function () {

    // Select all the empty elements on
    // the page and iterate through them
    $(":empty").each(function () {

        // Access the empty elements
    });
});

El siguiente ejemplo ilustra el enfoque anterior:

Ejemplo:

HTML

<!DOCTYPE html>
<html>
  
<head>
    <script src=
"https://code.jquery.com/jquery-3.3.1.min.js">
    </script>
</head>
  
<body>
    <h1 style="color: green">
        GeeksforGeeks
    </h1>
  
    <b>
        How to finds all elements
        that are empty?
    </b>
  
    <p>
        Click on the button to find
        all empty elements
    </p>
  
    <label for="name">Name</label>
    <input type="text" name="name" id="name">
    <br><br>
  
    <label for="address">Address</label>
    <textarea name="address">
        Address Five
    </textarea>
    <br><br>
  
    <button class="btn">
        Find all empty elements
    </button>
    <br><br>
  
    <b>Empty Elements</b>
    <ul class="empty-elements"></ul>
  
    <script>
        $(".btn").on("click", function () {
  
            let empty_elems = [];
  
            // Select all the empty elements on
            // the page and iterate through them
            $(":empty").each(function (index) {
  
                // Add a border to the empty elements
                $(this).css(
                    "border", "2px red dotted"
                );
  
                // Add the elements to the list
                empty_elems += "<li>" + 
                    ($(this).get(0).tagName) + "</li>";
            });
  
            $(".empty-elements").html(empty_elems);
        });
    </script>
</body>
  
</html>

Producción:

Enfoque 2: todos los elementos de la página que deben verificarse se seleccionan primero mediante un selector jQuery. Podemos especificar solo elementos de entrada y área de texto que deben verificarse si están vacíos. Luego, estos elementos se repiten y el método is () se usa para verificar si el elemento actual coincide con un selector. El selector :empty se usa para verificar si está vacío o no, similar al primer enfoque.

Sintaxis:

$(".btn").on("click", function () {

    // Select all the elements that
    // have to be checked and iterate
    // through them
    $("li, input, textarea").each(function () {

        // Check if the element is empty
        if ($(this).is(":empty"))
            // Access the empty element
        else
            // Access the non-empty element
    })
});

El siguiente ejemplo ilustra el enfoque anterior:

Ejemplo:

HTML

<!DOCTYPE html>
<html>
  
<head>
    <script src=
"https://code.jquery.com/jquery-3.3.1.min.js">
    </script>
</head>
  
<body>
    <h1 style="color: green">
        GeeksforGeeks
    </h1>
  
    <b>
        How to finds all elements
        that are empty?
    </b>
  
    <p>
        Click on the button to find
        all empty elements
    </p>
  
    <label for="name">Name</label>
    <input type="text" name="name" id="name">
    <br><br>
  
    <label for="address">Address</label>
    <textarea name="address">
        Address One, Country
    </textarea>
    <br><br>
  
    <label for="address">Comments</label>
    <textarea name="address"></textarea>
    <br><br>
  
    <b>Your Order</b>
    <ul>
        <li></li>
        <li>Item Two</li>
        <li></li>
        <li>Item Four</li>
    </ul>
  
    <button class="btn">
        Find all empty elements
    </button>
  
    <script>
        $(".btn").on("click", function () {
  
            // Select all the elements that
            // have to be checked and iterate
            // through them
            $("li, input, textarea").each(function () {
  
                // Check if the element is empty
                // and apply a style accordingly
                if ($(this).is(":empty"))
                    $(this).css(
                        "border", "2px red dashed"
                    );
                else
                    $(this).css(
                        "border", "2px green solid"
                    );
            })
        });
    </script>
</body>
  
</html>

Producción:

Publicación traducida automáticamente

Artículo escrito por sayantanm19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *