简体   繁体   English

如何在香草JavaScript中将foreach函数用于列表标记

[英]How to use foreach function for list tag in vanilla javascript

I want to use for each function for getting all li elements in an array using core javascript 我想为每个函数使用核心javascript获取数组中的所有li元素

var li_arr = []
$('li').each(function(){
    li_arr.push($(this).attr("id"));
})

this is the code i want to convert 这是我要转换的代码

You can use querySelectorAll method to get all li elements, convert it to an array using spread syntax and finally use Array#map method to generate id array. 您可以使用querySelectorAll方法获取所有li元素,使用传播语法将其转换为数组,最后使用Array#map方法生成id数组。

let li_arr = [...document.querySelectorAll('li')].map(ele => ele.id)

 let li_arr = [...document.querySelectorAll('li')].map(ele => ele.id) console.log(li_arr); 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <ul> <li id="1">Item 1</li> <li id="2">Item 2</li> <li id="3">Item 3</li> </ul> 

use document.querySelectorAll('li') . 使用document.querySelectorAll('li')

 const lis = document.querySelectorAll('li'); lis.forEach((li) => { console.log(li.id); }); 
 <li id="1">Item 1</li> <li id="2">Item 2</li> <li id="3">Item 3</li> 

If you want to target the lis of specific ul . 如果要针对特定ullis

 console.log([...document.querySelectorAll('ul#list>li')].map(el => el.id)); 
 <ul id="list"> <li id="1">Item 1</li> <li id="2">Item 2</li> <li id="3">Item 3</li> </ul> 

Try like this 这样尝试

 <script> var all = document.getElementsByTagName("li"); var li_arr = [] for (var i=0, max=all.length; i < max; i++) { li_arr.push(all[i].getAttribute("id")) } console.log(li_arr) </script> 
 <ul> <li id="1">Item 1</li> <li id="2">Item 2</li> <li id="3">Item 3</li> <li id="4">Item 4</li> </ul 

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

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