<ul>
<li>listitem1</li>
<li>listitem2</li>
<li>listitem13</li>
</ul>
我在HTML文件上有这样的东西。那么我怎样才能将我的jQuery文件中的每个列表项都作为数组
像这样var asmg = ["listitem1","listitem2","listitem3"];
答案 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来实现此目的:
选择所有li
元素
document.querySelectorAll('li')
将它们解压缩到数组中
[...document.querySelectorAll('li')]
映射此数组以获取每个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>
答案 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);
这段代码对我有用。
感谢所有答案