Il più grande problema che sto avendo con l'apprendimentojQuery è come ottengo il percorso di un particolare elemento, id o classe nel mio documento? Ho installato Firebug e le estensioni jQuery Firebug, ma non vedo un modo per determinare il percorso completo. Qualche consiglio per un n00b?
risposte:
1 per risposta № 1Penso che non sia possibile con una funzione JQuery unica ... come ho trovato Questo.
1 per risposta № 2
Se hai scritto un codice HTML valido, tutto ciò di cui hai bisogno è l'ID stesso (la parte nell'attributo id del tuo elemento). Se il tuo id è "myID1", il selettore jQuery di cui hai bisogno è $("#myID1")
supponendo che tu stia usando $
per jQuery.
Se stai parlando di attraversare l'albero DOM per ottenere elementi senza ID, guarda nel selettore di bambini, il selettore nth-child, la funzione .bambini(), il :genitore selettore, il .parents () funzione, e il .genitore() funzione. Tutti questi possono aiutare con DOM traversal.
1 per risposta № 3
Bene, se stai usando Firebug, puoi semplicemente guardarlo mentre ispeziona qualsiasi elemento.
Ma di solito è usato per altre cose, e l'utilizzo dell'intera cosa è sia inefficiente che sconsigliato se usato come selettore jQuery.
1 per risposta № 4
Vuoi dire che vuoi conoscere i genitori fino in fondo? Guarda a Questo e Questo.
1 per risposta № 5
Se hai solo bisogno del percorso del tuo elemnt, vuoi attaccare anche jQuery, lo troverai come una mollica di pane nel pannello Firebug dopo averlo ispezionato.
1 per risposta № 6
Dovresti impostare una funzione personalizzata per attraversare i genitori dell'elemento utilizzando le funzioni .parent () e .parents (). Ecco alcune informazioni:
e
http://api.jquery.com/parents/
È possibile eseguire un semplice script per verificare la presenza e inviarlo a un array o un altro tipo di variabile.
Pseudo codice:
function traverse_path(elementId) {
if($("#" + elementId).parent()) {
traverse_path($("#" + elementId).parent().attr("id"));
return $("#" + elementId).parent().attr("id") + " > ";
} else {
return null;
}
}