Javascript 从HTML无序列表创建数组

Javascript 从HTML无序列表创建数组,javascript,html,Javascript,Html,我有一个无序列表,每个元素我都想放在一个数组中 <div id='main'> <ul> <li>First</li> <li>Second</li> </ul> </div> 现在,我有一个函数,它以字符串形式返回列表中的所有数据: let newObj = document.createElement("div"); newObj.innerHTML = document.getEl

我有一个无序列表,每个元素我都想放在一个数组中

<div id='main'>
 <ul>
  <li>First</li>
  <li>Second</li>
 </ul>
</div>
现在,我有一个函数,它以字符串形式返回列表中的所有数据:

let newObj = document.createElement("div");
newObj.innerHTML = document.getElementsByTagName('UL')[0].innerHTML;
[...newObj.querySelectorAll("li")].forEach(ele => ele.parentNode.replaceChild(document.createTextNode("* "+ele.textContent)),ele);
return newObj
您可以选择所有li。然后映射它,获取textContent并添加*作为前缀

const items=document.queryselectoral'main li'; 常数结果={ 键入:“列表”, 数据:Array.fromitems.mapel=>`*${el.textContent}`, } console.logresult 第一 第二 您可以选择所有li。然后映射它,获取textContent并添加*作为前缀

const items=document.queryselectoral'main li'; 常数结果={ 键入:“列表”, 数据:Array.fromitems.mapel=>`*${el.textContent}`, } console.logresult 第一 第二 您可以使用jquery:

let $li = $('#main').find('li') //returns a collection
let array = $.map($li, e => '* ' + e.textContent)
转换为JSON:

let toJson = JSON.stringify(array)
您可以使用jquery:

let $li = $('#main').find('li') //returns a collection
let array = $.map($li, e => '* ' + e.textContent)
转换为JSON:

let toJson = JSON.stringify(array)

OP没有提到jquery,jquery没有给mark的回答带来任何附加值OP没有提到jquery,jquery没有给mark的回答带来任何附加值