如何从每个列表项的html获取jquery数组

时间:2018-06-09 15:04:55

标签: javascript jquery

<ul>
   <li>listitem1</li>
   <li>listitem2</li>
   <li>listitem13</li>
</ul>

我在HTML文件上有这样的东西。那么我怎样才能将我的jQuery文件中的每个列表项都作为数组

像这样

var asmg = ["listitem1","listitem2","listitem3"];

6 个答案:

答案 0 :(得分:1)

使用jQuery.map().get()处理普通数组。

var asmg = $( "li" )
  .map(function() {
    return $(this).text();
 }).get();
 
 console.log(asmg);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
  <li>listitem1</li>
  <li>listitem2</li>
  <li>listitem13</li>
</ul>

答案 1 :(得分:1)

尝试使用foreach循环:

function getArray(ul){
  asmg = [];
  ul.find('li').each(function(){
    asmg.push($(this).text());
  });
  return asmg;
}

console.log(getArray($('ul')));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<ul>
  <li>listitem1</li>
  <li>listitem2</li>
  <li>listitem13</li>
</ul>

答案 2 :(得分:0)

尝试以下

$(function(){
  var asmg = [];
  $("ul > li").each(function(i, li){
    asmg.push($(li).text());
  });
  console.log(asmg);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul>
  <li>listitem1</li>
  <li>listitem2</li>
  <li>listitem13</li>
</ul>

答案 3 :(得分:0)

您可以使用vanilla JavaScript来实现此目的:

  1. 选择所有li元素

    document.querySelectorAll('li')
    
  2. 将它们解压缩到数组中

    [...document.querySelectorAll('li')]
    
  3. 映射此数组以获取每个li项目的文本内容。

    [...document.querySelectorAll('li')].map(e => e.textContent)
    
  4. 以下是代码:

    const li = [...document.querySelectorAll('li')].map(e => e.textContent)
    
    console.log(li)
    <ul>
      <li>listitem1</li>
      <li>listitem2</li>
      <li>listitem13</li>
    </ul>

答案 4 :(得分:0)

var asmg = Array.from(document.querySelectorAll('li')).map(e => e.textContent);

var asmg = Array.from(document.querySelectorAll('li')).map(e => e.textContent);
console.log(asmg);
<ul>
  <li>listitem1</li>
  <li>listitem2</li>
  <li>listitem3</li>
</ul>

答案 5 :(得分:0)

var varObject = $('ul li').map(function(){
    return $(this).text();
}).get();

   //converting to array 
   var aiMsg = $.makeArray(varObject);

这段代码对我有用。

感谢所有答案