Sto provando a prendere una struttura di elenchi non ordinati hidml nidificati come un database per alcune informazioni che è necessario organizzare e analizzare. Sto cercando di filtrare, contare e presentare le informazioni usando jQuery. Mi sto adoperando affinché gli elenchi non abbiano alcun attributo di classe o id, in modo che siano molto puliti. Solo la radice avrebbe una classe o un id in questo modo:Jquery - seleziona il testo li immediato senza selezionare il testo di children ul
<ul id="root">
<li> First first-level element
<ul>
<li> First second-level element
<ul>
<li>First Third-level element</li>
<li>Second Third-level element</li>
</ul>
</li>
<li> Second second-level element
<ul>
<li>Third Third-level element</li>
<li>Fourth Third-level element</li>
</ul>
</li>
</ul>
</li>
<li> Second first-level element
<ul>
<li> Third second-level element
<ul>
<li>Fifth Third-level element</li>
</ul>
</li>
</ul>
</li>
</ul>
La mia domanda è: come posso selezionare nodo di testo figlio diretto di una Li senza selezionare testo in figlio che di Li e nipote di UL (cioè le sue liste parziali)? Ad esempio, data la lista HTML sopra, vorrei essere in grado di venire con un elenco di tutti i nodi di testo nel secondo livello:
- Prima di secondo livello elemento
- elemento secondo livello
- terzo di secondo livello elemento
O tutto il testo dal terzo livello, ecc ... che mi avrebbe permesso di elencare e contare gli oggetti in un determinato livello. Il più vicino che sono stato è:
// to select items in second but not third level
$('ul#root ul').not('ul#root ul ul').children('li')
Ma non è una soluzione flessibile. Cosa succede se la lista ha molti livelli, diciamo sette? per selezionare sesto livello che avrebbe dovuto fare qualcosa di simile:
// to select items in second but not third level
$('ul#root ul ul ul ul ul').not('ul#root ul ul ul ul ul ul').children('li')
Ci deve essere un altro modo, ma io non l'ho trovato. Ogni suggerimento è molto apprezzato.
tutte le notizie qui ?? – headkit