Fabio Donatantonio

Resta connesso

Software Developer / Adjunct Professor

JQuery, il metodo .remove()

Il metodo remove() del framerwork jQuery permette di rimuovere un elemento html dal DOM della pagina.
Diversamente da tutti i metodi che modificando il css rendono “invisibile” un elemento, il metodo remove() elimina in maniera quasi del tutto definitiva l’elemento, rendendo nulli tutti i successivi riferimenti ad esso.
La sintassi, come è buona abitudine di jQuery, è molto semplice e grazie all’uso dei vari selettori disponibili le possibilità di utilizzo del metodo .remove() sono pressochè infinite.
Potremo ad esempio associare il metodo ad alcuni bottoni o link delle nostre pagine, permettendo agli utenti di “eliminare” i contenuti che non desiderano consultare. Pensiamo ad esempio ad una finestra in sovraimpressione che mostra al suo interno un banner: sarebbe elengante e cortese fornire un icona di chiusura che ne permetta la rimozione definitiva dalla pagina.

La sintassi di base del metodo .remove() è la seguente:

$('id_elemento').remove();

Tramite il selettore ID andremo a rimuovere l’elemento il cui id è uguale a “id_elemento“. Dopo l’esecuzione del semplice codice proposto, vedremo “scomparire”, in maniera quasi brutale, l’elemento dalla pagina web e nel DOM non ne resterà più traccia.
Vediamo ora qualche altro esempio utilizzando gli altri selettori disponibili:

// Selettore di classe
$('.nome_classe').remove();

// Selettore di tag
$('p').remove();

// Selettore di contenuto
$("p:contains('Ciao')").remove();

Negli esempi proposti, i vari selettori operano su più elementi (ad esempio tutti gli elementi appartenenti ad una determinata classe, tutti i blocchi di tipo <p> oppure tutti gli elementi di tipo <p> che contengono la parola ‘Ciao’), quindi invocando il metodo remove() elimineremo tutti questi elementi grazie ad una sola riga di codice.
Prima di concludere prendiamo in considerazione due aspetti del metodo remove():

  • un elemento rimosso non può essere recuperato;
  • la rimozione degli elementi tramite class comporta la rimozione di tutti gli elementi appartenenti a quella classe, indipendetemente dal tipo di elemento (DIV, SPAN, P, ecc);

Per porre, in parte, rimedio al primo caso possiamo memorizzare l’elemento (in una sorta di cache) prima che questo venga rimosso:

// Memorizzo l'elemento in una variaibile
var elemento = $('#id_elemento');

// Rimuovo l'elemento
$('#id_elemento').remove();

Il blocco nonostante sia stato eliminato dalla pagina web, è ancora presente in una variabile (var elemento), e può essere riutilizzato e volendo riposizionato all’interno del DOM, magari in un’altra posizione.
Per il secondo caso in analisi, invece, è necessario utilizzare il metodo remove() in maniera leggermente differente da come si è visto fino ad ora; possiamo così filtrare solo alcuni elementi da rimuovere che hanno una classe in comune, evitando la rimozione complessiva di tutti i blocchi:

// Rimozione solo dei div con classe 'nome_classe'
$('div').remove('.nome_classe');

Grazie alla riga di codice proposta, andremo ad eliminare gli elementi che hanno come nome classe “nome_classe” ma solo se di tipo DIV. Da notare, quindi la differenza con il codice proposto all’inizio dell’articolo, quando effettuavamo la rimozione di tutti gli elementi tramite selettore di classe.
Le funzioni viste sono state raccolte in una pagina web d’esempio.

Cliccando qui è possibile vedere in azione il codice.

Cliccando qui è possibile scaricare il codice.

Fabio Donatantonio

Fabio Donatantonio. Analista e sviluppatore full-stack di applicazioni web in linguaggio PHP. Professore a Contratto per le cattedre di Fondamenti di Informatica e Archivistica Digitale presso Università degli Studi eCampus. Dal 2008 curatore del sito www.donatantonio.net, da sempre appassionato di programmazione, mare, sigari e... musica.

Leave a reply

Your email address will not be published. Required fields are marked *

 

Didattica

Università degli Studi eCampus
Data Evento
09/02/2021
14:30
Esame Archivistica Digitale e Informatica per le Scienze Umane - Cds Letteratura, Lingua e Cultura Italiana - Lettere
09/02/2021
14:30
Esame Introduzione all'Archivistica Digitale e all'Informatica per le Scienze Umane - Cds Letteratura, Arte, Musica e Spettacolo - Lettere
09/02/2021
17:30
Esame Abilità Informatiche e Telematiche - Cds Design e Discipline della Moda - Lettere
09/02/2021
17:30
Esame Abilità Informatiche e Telematiche - Cds Letteratura, Arte, Musica e Spettacolo - Lettere
Risorse
Guida HTML/CSS per principianti (link)
Introduzione agli ipertesti (link)
Esercizi guidati in Java (link)
Intelligenza artificiale (link)
Libri
Fondamenti di Informatica (2011) (link)
Informatica per le Scienze Umane (2011) (link)
Fondamenti di Informatica (2014) (link)
Pagina Docente
uniecampus.it - Scheda Docente (link)
Contatti
fabio.donatantonio[at]uniecampus.it

JWhisper, sviluppato presso il Dipartimento di Informatica Applicata dell'Università degli Studi di Salerno:

Stay Connected

Twitter

Le mie foto

Foto di Fabio Donatantonio
×