如何用$(“li”)之类的东西创建一个数组.text()

时间:2011-03-21 06:25:38

标签: javascript jquery

假设我想获取每个li的所有文本并将其保存到数组中,我该怎么做。

例如,像......

<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>

应该给我一个像

这样的数组
["1", "2", "3", ..., "10"]

5 个答案:

答案 0 :(得分:7)

<ul>一个id和类似

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

查看working demo

有关详情,请参阅

jQuery.map().get()

如果您想将文本作为逗号分隔的字符串,那么只需要使用.join()

答案 1 :(得分:1)

您必须先使用每个迭代li列表,然后将每个文本放在一个数组中。

var arr=[];

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

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

});

答案 2 :(得分:1)

使用jQuery .map() function

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

编辑:正如@rahul所指出的,我在jQuery对象中包含了“this”。

答案 3 :(得分:1)

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

答案 4 :(得分:0)

粗暴而不雅的做法:

var output = [];

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