jQuery esplora - metodo contents()

Esempio

Trova tutti i nodi di testo all'interno del paragrafo e li avvolge con un tag in grassetto.

$("p").contents().filter(function(){ return this.nodeType != 1; }).wrap("<b/>");

Prova a farlo tu stesso

Definizione e uso

Il metodo contents() ottiene i nodi figli di ciascun elemento nella raccolta di elementi corrispondenti, inclusi i nodi di testo e i nodi commento.

Sintassi

.contents()

Spiegazione dettagliata

Se viene fornito un oggetto jQuery che rappresenta una raccolta di elementi DOM, il metodo .contents() ci permette di recuperare i nodi figli diretti di questi elementi nel albero DOM e di costruire un nuovo oggetto jQuery con gli elementi corrispondenti. .contents() e .children() Il metodo è simile, ma il primo include i nodi di testo e gli elementi HTML nel risultato dell'oggetto jQuery.

Il metodo .contents() può anche essere utilizzato per ottenere il documento del contenuto dell'iframe, a condizione che l'iframe si trovi nello stesso dominio della pagina principale.

Pensa a questo <div> con alcuni nodi di testo, ciascun nodo è separato da due elementi di virgola (br):

<div class="container">
  Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed 
  do eiusmod tempor incididunt ut labore et dolore magna aliqua. 
  <br /><br />
  Ut enim ad minim veniam, quis nostrud exercitation ullamco 
  laboris nisi ut aliquip ex ea commodo consequat.
  <br /> <br />
  Duis aute irure dolor in reprehenderit in voluptate velit 
  esse cillum dolore eu fugiat nulla pariatur.
</div>

Possiamo utilizzare il metodo .contents() per convertire i blocchi di testo in paragrafi ben formatati:

$('.container').contents().filter(function() {
  return this.nodeType == 3;
)
  .wrap('<p></p>')
.end()
.filter('br')
  .remove();

Prova a farlo tu stesso

Questo codice riceve prima il contenuto di <div class="container">, poi filtra i nodi di testo, avvolgendo i nodi di testo nei tag di paragrafo. Questo viene fatto attraverso il test dell'attributo .nodeType dell'elemento. Questo attributo contiene un codice numerico che indica il tipo di nodo; i nodi di testo utilizzano il codice 3. Il contenuto viene filtrato di nuovo, questa volta per gli elementi <br />, che vengono rimossi.