Javascript ES6-将HTML字符串解析为数组

Javascript ES6-将HTML字符串解析为数组,javascript,ecmascript-6,Javascript,Ecmascript 6,我有一个HTML格式的字符串: let dataString='Lorem ipsumLorem ipsum 2; 如何解析此字符串以获得如下所示的标记数组 让数据数组=[ “Lorem ipsum”, '', “Lorem ipsum 2”, '', ]; 使用DOMParser将其转换为文档,然后获取主体的子对象和.map它们的.outerHTML: const str='Lorem ipsumLorem ipsum 2; const doc=new DOMParser().parseF

我有一个HTML格式的字符串:

let dataString='Lorem ipsum

Lorem ipsum 2

如何解析此字符串以获得如下所示的标记数组

让数据数组=[
“Lorem ipsum

”, '', “Lorem ipsum 2

”, '', ];
使用
DOMParser
将其转换为文档,然后获取主体的子对象和
.map
它们的
.outerHTML

const str='Lorem ipsum

Lorem ipsum 2

; const doc=new DOMParser().parseFromString(str,'text/html'); const arr=[…doc.body.children].map(child=>child.outerHTML);
控制台日志(arr)建议使用Dom解析

这里使用的是香草JS,而不是另一个答案中使用的DOMParser

let dataString=`Lorem ipsum

Lorem ipsum 2

`; 让domFragment=document.createElement(“div”); domFragment.innerHTML=dataString; const arr=[…domFragment.queryselectoral(“div>p,div>figure”)].map(el=>el.outerHTML)
console.log(arr)
我不清楚你的问题。这是随机字符串还是html字符串?分割规则是将原始字符串分割为html元素部分

如果是真的,我想我们可以用一个虚拟元素来处理它

为了方便起见,我使用jQuery选择器:

let stringToSplit=`Lorem ipsum

Lorem ipsum 2

` $dummy=$(“”);//创建一个虚拟对象 $dummy.html(stringToSplit); var dataArray=[]; var dummyChildren=$dummy.children(); for(var i=0;i

请访问,看看有什么和。做一些研究,搜索相关话题等;如果你被卡住了,发布一篇你尝试的文章,记下输入和预期输出。你尝试过什么?最好展示您尝试过的内容,以便人们更好地了解您尝试执行的操作。您可以创建一个DOM元素,将innerHTML设置为此字符串,并获取元素的子节点。我尝试了.split(//g),但它只拆分标记。我想让这是非常具体的这个例子。如果
后面有空格,它将在outputence my语句中添加另一个元素:然后您的特定字符串我为您创建了一个片段。实际上您并没有回答OP的问题,因为您有一个innerHTML数组,而不是outerHTML数组。还有,当有jQuery供您使用时,为什么要使用for循环呢?OP实际上也没有要求jQuery也不需要将div实际附加到主体中。这可以在内存中完成。查看哪个返回请求的HTML字符串。另外,您不使用本身就是JS函数的
slice
。谢谢您的提示。我更正了我的答案。我只是一个初学者,所以我的方法可能不是最短最聪明的:D