Visualizzare albero DOM completo oppure Visualizzare Nodi che fanno parte di una Selezione

  • Creatore Discussione Creatore Discussione andreto
  • Data di inizio Data di inizio

andreto

Utente Attivo
5 Dic 2012
88
0
0
Ciao a tutti,
selezionando del testo con il mouse su una pagina HTML avrei la necessità di ricevere la lista di tutti i nodi del DOM che fanno di questa selezione.

Avrei pensato di procedere per due strade, ma entrambe per me complicate da svilupparsi.

La prima è avere la lista di tutti i nodi e figli del body e confrontarli con i nodi che fanno parte della selezione (con .containsNode)
ma purtroppo non saprei se esiste già un'istruzione che mi permetta di ricevere tutti i nodi, figli, nipoti e pronipoti ecc... a partire da un elemento, oppure se devo crearmi un ciclo for.

La seconda è usare un'istruzione di javascript che mi restituisce in un array tutti i nodi che fanno parte della mia selezione, (questa sarebbe l'ideale :mavieni:) ma in questo caso non so se esiste tale istruzione.
Ho verificato le varie istruzioni di Range e Selection ma non ne ho trovata nessuna che mi risolva il problema.

Spero che qualcuno di voi mi possa aiutare, grazie.
 
No perchè deve far parte del mio sito, non serve a me personalmente.

Devo integrare questa nello script che sto facendo.
 
Codice:
$("*").on("click", function() {

  $(this).children().each( function() {

    alert($(this));

  });

});

Una cosa del genere?

(è solo un abbozzo, non funziona)
 
Ultima modifica:
Non proprio, fin qui ero riuscito.

A me servirebbe sapere se c'è un'istruzione di Javascript che associandola all'oggetto mi restituisce l'array con tutti i nodi presenti in quell'oggetto.

Ad esempio applicando .childNodes a body, visualizzo tutti i figli ma non nipoti, pronipoti ecc... Io dovrei riuscire ad avere in un array l'intero albero.

Oppure .anchorNode Restituisce il nodo in cui inizia la selezione e .focusNode Restituisce il nodo in cui finisce la selezione.
Io dovrei sapere quali altri nodi sono coinvolti nella selezione e non solo il primo e l'ultimo, tutti.
 

Discussioni simili