Da jQuery a Javascript: ecco le controparti vanilla javascript delle principali funzionalità di jQuery

L’uso di jQuery è spopolato fin dalla sua introduzione nel mondo del web developing. Questo articolo non vuole assolutamente essere un denigrare quanto fatto da questo (a mio avviso) ottimo framework, ma vuole dare un approccio differente tramite javascript alle più comuni funzionalità usate in jQuery.

La cosa migliore per coloro che volessero intraprendere la carriera di web developer a mio avviso sarebbe quella di seguire questa scaletta:

  1. imparare le basi di javascript vanilla
  2. Web API
  3. jQuery o altri framework.

Ora più che mai imparare framework come React o Angular senza sapere nulla di javascript è davvero ostico.

Selezione elementi del DOM

Selezione elemento per ID

$('#targetweb'); //jQuery
document.getElementById('targetweb');//Javascript

Selezione elemento per classe

$('.targetweb');//JQuery
document.getElementsByClassName('targetweb'); //Javascript

Selezione elemento per tag

$('span'); // jquery
document.getElementsByTagName('div'); //Javascript

Selezione elemento per attributo

$('[data-foo-bar="someval"]');//jQuery
document.querySelectorAll('[data-foo-bar="someval"]'); // Javascript

Pseudo Classi

$('#targetweb :invalid');//jQuery
document.querySelectorAll('#targetweb :invalid'); //Javascript

Selezione figli

$('#targetweb').children(); //jQuery
document.getElementById('targetweb').childNodes; //Javascript

Selezione tag discendenti

$('#targetweb A'); //jQuery
document.querySelectorAll('#targetweb A'); //Javascript

Esclusione elementi

$('DIV').not('.ignore'); //JQuery
document.querySelectorAll('DIV:not(.ignore)'); //Javascript

Selettore multiplo

$('DIV, A, SCRIPT'); //jQuery
document.querySelectorAll('DIV, A, SCRIPT'); //Javascript

Manipolazione del DOM

Aggiungere / Rimuovere una classe CSS

$('#targetweb').addClass('bold'); //jQuery
document.getElementById('targetweb').classList.add('bold'); //Javascript
//Rimozione
$('#targetweb').removeClass('bold'); //jQuery
document.getElementById('targetweb').classList.remove('bold'); //Javascript

Aggiungere/rimuovere testo

$('#targetweb').text('Goodbye!'); //JQuery
document.getElementById('targetweb').innerHTML = 'Ciao!'; //Javascript - IE 5.5+
document.getElementById('targetweb').textContent = 'Ciao!'; //Javascript -  Tutti i nuovi browser IE9+

Modificare lo style inline [LISTA PROPRIETA’ DI STYLE OBJ]

$('#targetweb').css('fontWeight', 'bold'); //jQuery
document.getElementById('targetweb').style.fontWeight = 'bold'; //Javascript

Chiamate Ajax

NON PERDERTI LA NOSTRA GUIDA COMPLETA CHIAMATE AJAX JQUERY

Chiamate GET

//jQuery
$.ajax({
      type: "GET",
      url: "targetweb.php",
      data: "id=" + thisId + "&value=" + thisValue,
      success: function(){
        alert( "OK" );
      }
});

//Javascript
var xhr = new XMLHttpRequest();
xhr.open('GET', 'targetweb.php?id=1');
xhr.onload = function() {
    if (xhr.status === 200) {
       alert( "OK" );
    }
    else {
      alert( "Errore" );
    }
};
xhr.send();

Chiamate POST

//jQuery
$.ajax({
      type: "POST",
      url: "targetweb.php",
      data: "id=" + thisId + "&value=" + thisValue,
      success: function(){
        alert( "OK" );
      }
});

//Javascript
var xhr = new XMLHttpRequest();
xhr.open('POST', 'targetweb.php?id=1');
xhr.onload = function() {
    if (xhr.status === 200) {
       alert( "OK" );
    }
    else {
      alert( "Errore" );
    }
};
xhr.send();

Eventi

Eventi al click

//jQuery
$(elemento).on('click', function() {
   //Codice
});

//Javascript
elemento.addEventListener('click', function() {
    //Codice
});

Rimuovere evento

$('elemento').off('click', myEventHandler);//jQuery
elemento.removeEventListener('click', myEventHandler); //Javascript

Mouse Hover

//jQuery
$('elemento').hover(
    function hoverIn() {
        // mouse hover
    },

    function hoverOut() {
        // mouse out
    }
);

//Javascript
elemento.addEventListener('mouseover', function() {
    // mouse hover
});

elemento.addEventListener('mouseout', function() {
     // mouse out
});

Eventi al caricamento di pagina

//jQuery
$(window).load(function() {
    // pagina caricata
})
//Javascript
window.addEventListener('load', function() {
   // pagina caricata
});

//DOM LOAD
//Jquery
$(document).ready(function() {
    // Dom caricato
});
//Javascript
document.addEventListener('DOMContentLoaded', function() {
    // Dom caricato
});

Ovviamente questo è solo un riassunto delle moltissime funzioni, ma sappiate che ad ogni funzionalità di jQuery corrisponde la controparte vanilla javascript. Cercate di usare jQuery solo se realmente necessario, e iniziate a usare javascript per le azioni più comuni.

Questo articolo ti è piaciuto? Condividilo con i tuoi colleghi!

0 0 voti
Valutazione dell'articolo
Iscriviti
Notificami
guest

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.

1 Commento
Vecchi
Più recenti Le più votate
Feedback in linea
Visualizza tutti i commenti
Lolly
Lolly
8 anni fa

Da segnalare anche l’abusatissimo $(this).val() al posto del più semplice this.value

Una precisazione: document.getElementById(‘targetweb’) non consente poi di utilizzare i metodi jQuery sull’elemento, ad esempio click(), cosa che invece è possibile sfruttando la funzione di selezione $(‘#targetweb’)

Rimani Aggiornato
Nuove idee, zero Spam
Ti invieremo solo le ultime novità di articoli o nostri progetti.
Iscrivendoti accetti la nostra privacy poliicy. Una volta iscritto, ricordati di attivare l'iscrizione cliccando sul link ricevuto via mail.
1
0
Esprimete la vostra opinione commentando.x