繁体   English   中英

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

[英]How to get jquery array from html each list item

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

我在HTML文件上有类似的内容。 所以我怎样才能得到我的jQuery文件中的每个列表项作为数组

像这样

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

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

尝试使用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> 

尝试跟随

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

您可以使用原始JavaScript实现以下目的:

  1. 选择所有li元素

     document.querySelectorAll('li') 
  2. 将它们拆成数组

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

     [...document.querySelectorAll('li')].map(e => e.textContent) 

这是代码:

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

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> 

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

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

该代码对我有用。

感谢所有的答案

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM