2013-05-15 19 views
18

Próbuję dostać i tablica z tekstem po użyciu funkcji tekstu, mając listę ul podobnegojQuery uzyskać tablicę text()

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

następnie dostać coś

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

proszę pisać jQuery próbowałem. – j08691

+0

Pracowałem z jstree, z tego powodu nie pasteruję kodu, ponieważ jest on zbyt długi, jednak wszystkie pomysły z tego miejsca bardzo pomagają rozwiązać mój problem. Podziękowania dla wszystkich – Carlos

Odpowiedz

5

Chcesz tylko uzyskać tekst od wszystkich li?

var resultArray = []; 

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

Można zrobić coś

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

Kilka odpowiedzi ignorować żądany format PO za.

To da ci to, czego chcesz.

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

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

2

Spróbuj tego:

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

lub to:

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