开发者

How can I create an array out of something like $("li").text()

Suppose I want to get all text of each li and save it into an array, how m开发者_JAVA百科ight I do that.

For example, something like ...

<ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
    <li>5</li>
    <li>6</li>
    <li>7</li>
    <li>8</li>
    <li>9</li>
    <li>10</li>
</ul>

should give me an array like

["1", "2", "3", ..., "10"]


Give the <ul> an id and something like

$("#yourulid li").map(function(){
    return $(this).text();
}).get().join(',');

See a working demo

For more details take a look at

jQuery.map() and .get()

If you want to get the text as a comma separated string then only you need to use .join().


Use the jQuery .map() function.

$('li').map(function(){
  return $(this).text();
});

Edit: As pointed out by @rahul I wrapped "this" in a jQuery object.


you will have to use each to iterate over li list first and then put every text in an array.

var arr=[];

$("li").each(function(n){

arr[n] = $(this).text();

});


var myArray = [];
$("ul").children().each(function(index) {
    myArray[index] = $(this).text(); 
});


The crude and inelegant way of doing it:

var output = [];

$('#your-ul li').each(function()
{
  output.push($(this).text());
});
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜