jQuery esta palabra clave

Ankit Raj Goyal 21 junio 2023
  1. jQuery esta palabra clave como elemento DOM
  2. Use jQuery esta palabra clave como elemento DOM dentro de una devolución de llamada
  3. Use jQuery esta palabra clave como elemento DOM dentro de la devolución de llamada del método cada ()
  4. Utilice jQuery esta palabra clave como elemento DOM en el método load() de AJAX
  5. Use jQuery esta palabra clave como elemento DOM en la devolución de llamada al método filtro ()
  6. Use jQuery esta palabra clave como objeto general
  7. Use jQuery esta palabra clave como objeto jQuery dentro de un complemento
jQuery esta palabra clave

La palabra clave jQuery this permite a los desarrolladores usar métodos y propiedades del objeto actual sin realizar nuevas búsquedas o búsquedas. Este tutorial muestra varios casos de uso de la palabra clave this en diferentes contextos.

jQuery esta palabra clave como elemento DOM

El uso más común de la palabra clave jQuery this es cuando se refiere a un elemento DOM. Incluso puede tener una regla general de que, si no está creando específicamente complementos de jQuery, lo más probable es que use este caso de uso.

La palabra clave jQuery this puede confundirlo al principio. jQuery (y otros lenguajes de programación) proporcionan la palabra clave this como una herramienta útil y, en la mayoría de los casos, el valor de la palabra clave this de jQuery es fácil de averiguar: apunta al objeto, clase o entidad que intuitivamente debe referirse a.

Use jQuery esta palabra clave como elemento DOM dentro de una devolución de llamada

La entidad más probable a la que debe hacer referencia el código dentro de su devolución de llamada es el elemento DOM en el que escucha la devolución de llamada. Entonces, jQuery establece la palabra clave this en este caso en el elemento DOM que llama. (Puedes ver que nuestra regla del pulgar funciona bastante bien).

Código - JavaScript + jQuery:

// this as a jQuery DOM button element inside a callback
$("#DOM_button").on("click",function(){
    $("p").html(`The value of 'this' keyword inside the DOM button element is ${$(this).attr('id')}`);
    //use case - you can deactivate the button easily without another DOM search call
    $(this).prop("disabled",true);
});

Código - HTML:

<body>
    <div id="triggers">
        <!-- Button DOM element -->
        <button id="DOM_button">I am a DOM button element</button>
    </div>
</body>

Nuestro código registra el valor de la palabra clave this dentro de la devolución de llamada al controlador de eventos click que escucha en el elemento DOM_button. Es posible que desee cambiar algunas propiedades del elemento DOM que escucha el controlador de eventos.

Por ejemplo, deshabilitamos el elemento DOM_button. Este es un caso de uso común de la palabra clave this en este contexto.

Producción:

&rsquo;esto&rsquo; como elemento DOM dentro de una devolución de llamada

Use jQuery esta palabra clave como elemento DOM dentro de la devolución de llamada del método cada ()

Cuando itera sobre una colección jQuery con el método cada (), querrá acceder a cada elemento DOM dentro de la devolución de llamada. jQuery establece la palabra clave this dentro de la devolución de llamada del método each al elemento DOM actual.

Código - JavaScript + jQuery:

//this as each DOM element inside a jQuery collection
$("#div_button").on("click",function(){
    $("p").html(" ");
    $("#div_container>div").each(function(idx){
        $("p").append(`The value of 'this' keyword inside child div ${idx + 1} is ${$(this).attr('id')} <br>`);
    });
});

Código - HTML:

<body>
<div id="div_container">
            <button id="div_button">
                "each" Method Demo
            </button>
            <div id="first_div">
                I am the First Div <br>
            </div>
            <div id="second_div">
                I am the Second Div <br>
            </div>
            <div id="third_div">
                I am the Third Div <br>
            </div>
    </div>
</body>

Producción:

palabra clave &rsquo;esta&rsquo; dentro de la devolución de llamada al método each()

jQuery asigna la palabra clave this al elemento div actual en cada iteración.

Utilice jQuery esta palabra clave como elemento DOM en el método load() de AJAX

Cuando realiza una llamada AJAX con el método load() en jQuery, apunta la palabra clave this dentro de la devolución de llamada al elemento DOM en el que ejecuta el método load().

Nuevamente, el valor de la palabra clave jQuery this está en línea sin la regla del pulgar; en la mayoría de los casos, la palabra clave this apunta al objeto, clase o entidad a la que necesitaría acceder de forma natural.

Código - JavaScript + jQuery:

// //ajax request with the load method
$("#ajax_btn").on("click",function(){
            $("#ajax_this").load("http://127.0.0.1:5500/code_files/test.html",
            function(){
                $("p").html(`The value of 'this' keyword inside the 'load' method to send the                           AJAX request is ${$(this).attr('id')}`);
                //use case - you want to style it when a successful data fetch completes
                $(this).css("color","green");
            })
        });

Ejecutamos el método de carga jQuery AJAX para obtener datos del archivo test.html en el mismo servidor. Enviamos el valor de la palabra clave this dentro de la devolución de llamada al método load(), que se ejecuta cuando se completa la solicitud AJAX.

Código - HTML:

    <div id="ajax_this">
        <button id="ajax_btn">
            AJAX Call Demo
        </button><br>
        <br>
        <div id="ajax_text">
            I demo the use of this as DOM element with an AJAX call
        </div>
    </div>

Producción:

&rsquo;esto&rsquo; como el elemento DOM en el que adjuntamos el método de &lsquo;carga&rsquo; de AJAX

Un caso de uso común es cuando queremos codificar con color la salida en verde en una llamada AJAX exitosa. Por ejemplo, en nuestra demostración de salida anterior, mostramos la salida en verde.

En este ejemplo, hicimos una llamada AJAX al recurso test.html en el mismo servidor.

Código - prueba.html:

<title>Test HTML Page</title>
</head>
<body>
    <div id="main">
        <div id="top">
            <h3>
                We dish out a test page for our AJAX request on localhost.
            </h3>
        </div>
        <div id="mid">
            <h3>
                The request completes and returns the data that displays on the page.
            </h3>
        </div>

    </div>
</body>
</html>

Use jQuery esta palabra clave como elemento DOM en la devolución de llamada al método filtro ()

Cuando usa el método filter() en una colección jQuery para seleccionar un subconjunto, desea acceder rápidamente al elemento DOM actual en la colección en cada iteración. jQuery establece la palabra clave this dentro de la devolución de llamada al método filter al elemento actual.

La palabra clave este se refiere al objeto que más intuitivamente esperamos que sea.

Código - JavaScript + jQuery:

//this as the current DOM element inside the filter function in each iteration
$("#filter_this").on("click",function(){
    let $filterSet = $("div").filter(function(){
       return $(this).attr("id") == "selection_filter_this";
    });
    $("p").html(`The filtered set of div elements with the use of 'this' keyword are those with ID = : ${$filterSet.first().attr('id')}`);
});

Código - HTML:

<body>
<div id="selection_filter_this">
            <div id="filter_text">
                I demo the use of this as DOM element with a selector filter
            </div>
            <button id="filter_this">
                This keyword with the filter method
            </button>
        </div>
</body>

Producción:

palabra clave &rsquo;esta&rsquo; dentro de la devolución de llamada al método &lsquo;filtro&rsquo;

Vemos que filtramos los elementos div para seleccionar solo aquellos que coincidan con el ID, selection_filter_this con la palabra clave this en la devolución de llamada. Luego mostramos la ID del elemento filtrado.

Use jQuery esta palabra clave como objeto general

Los métodos jQuery como el método each() pueden iterar sobre cualquier objeto similar a una matriz. No solo se limitan a recorrer elementos DOM.

Si usamos un método jQuery como each() para recorrer cualquier estructura similar a una matriz, naturalmente necesitaríamos acceso a la entidad actual en la iteración. Entonces, jQuery establece la palabra clave this en el objeto actual en tales situaciones.

Código - JavaScript + jQuery:

// this as the current object in each iteration of the 'each' method
let objEachArr = ["First","Second","Third"];
$('#object_each_btn').on("click",function(){
    $("p").html("");
    $.each(objEachArr,function(curr){
        $("p").append(`The value of 'this' keyword in the current iteration of the 'each' method is  ${this} <br><br>`);
    });
});

Código - HTML:

<body>
<div id="object_each_div">
            <div id="object_each_text">
            I demo the use of 'this' as the current object in every iteration of the 'each' method.
            </div>
            <button id="object_each_btn">
                'This' in 'each' Method
            </button>
        </div>
    <div id="results">
        <p>
            We will display the results here.
        </p>
    </div>
</body>

Enviamos el valor de la palabra clave this en cada iteración del método each sobre la matriz objEachArr.

Producción:

palabra clave &rsquo;esta&rsquo; dentro de cada iteración del método &lsquo;cada&rsquo;

Vemos que la palabra clave this se refiere al elemento de matriz actual en cada iteración del método each().

Use jQuery esta palabra clave como objeto jQuery dentro de un complemento

Hay un caso especial para la palabra clave this de jQuery. Cuando usamos la palabra clave this dentro de un complemento, se refiere al objeto jQuery.

Código - JavaScript + jQuery:

/this as the jQuery Object inside a jQuery Plug-In
$.fn.plugInDemo = function(){
this.html(`The 'this' keyword inside my plug-in is the jQuery Object and we output the jQuery Version
 from this jQuery Object : ${this.jquery}`);
return this;
};

$("#plugin_btn").on("click",function(){
    $("p").plugInDemo();
});

Código - HTML:

<body>
<div id="plugin_div">
            <div id="plugin_text">
                I demo the use of 'this' inside a jQuery Plugin.
            </div>
            <button id="plugin_btn">
                'This' inside a Plug-In
            </button>
    </div>
    <div id="results">
        <p>
            We will display the results here.
        </p>
    </div>
</body>

Generamos la versión de jQuery accediendo al objeto jQuery a través de la palabra clave this dentro de nuestra función de complemento simple plugInDemo.

Producción:

palabra clave &rsquo;esta&rsquo; dentro de un complemento

La palabra clave this de jQuery es una herramienta poderosa para acceder rápidamente al objeto, la clase o la entidad actual sin realizar búsquedas DOM nuevas y es un excelente método para aumentar el rendimiento de la aplicación.