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的回答带来任何附加值