2013-05-15 9 views
18

Sto cercando di ottenere e array di testo dopo aver utilizzato la funzione del testo, tenere una lista ul comeJquery, ottenere un array di testo()

<ul> 
    <li>one 
    <ul> 
     <li>one one</li> 
     <li>one two</li> 
    </ul> 
    </li> 
</ul> 

poi ottenere qualcosa di simile

['one', 'one one', 'one two'] 
+2

si prega di inviare la jQuery che hai provato. – j08691

+0

Stavo lavorando con jstree, a causa di ciò non ho elaborato il mio codice perché è troppo lungo, tuttavia, tutte le idee da qui aiutano molto su come risolvere il mio problema. Grazie a tutti – Carlos

risposta

5

Vuoi solo ottenere il testo da tutti i li?

var resultArray = []; 

$('li').each(function(){ 
    resultArray.push($(this).text()); 
}); 
1

Si potrebbe fare qualcosa di simile

var children = $(listholder).children(); 
var array = []; 
var i = 0; 
$.each(children, function(key, value){ 
array.push($(this).text()); 
}); 
0

Molte delle risposte ignorare formato desiderato del PO.

Questo ti darà quello che vuoi.

$('li').map(function(){ 
    var $clone = $(this).clone(); 
    $clone.children('*').remove(); 
    return $.trim($clone.text()); 
}).get() 

Fiddle: http://jsfiddle.net/pE9PR/

2

Prova questa:

$("li").map(function(){ return this.innerText }) 

o questo:

$("li").toArray().map(function(i){ return i.innerText }) 
Problemi correlati