Javascript 如何将html标记保存为数组?
我想将所有HTML标记保存到数组中,如下所示:Javascript 如何将html标记保存为数组?,javascript,html,vuejs2,Javascript,Html,Vuejs2,我想将所有HTML标记保存到数组中,如下所示: Var a = '<p> hi</p> <h2>hello</h2>' Var a='hihello' 结果如下: result = [ 0:"<p> hi</p>" 1:"<h2>hello</h2>" ] 结果=[ 0:“你好” 1:“你好” ] 在您的示例中,您可以使用: / < // Match literal <
Var a = '<p> hi</p> <h2>hello</h2>'
Var a='hihello'
结果如下:
result = [
0:"<p> hi</p>"
1:"<h2>hello</h2>"
]
结果=[
0:“你好”
1:“你好”
]
在您的示例中,您可以使用:
/
< // Match literal <
> // Match literal <
.*? // Match any character zero or more times, non greedy
<\/ // Match literal </
> // Match literal >
/g
/
/匹配文字<
>//匹配文字<
.*? // 匹配任意字符零次或多次,非贪婪
/g
你的例子是:
var str='hihello'
常量arr=str.match(/.*?/g);//[“hi”,“你好”]
控制台日志(arr)代码>我得到了解决方案,但它不是100%完美的。检查这段代码,我已经提取了id为“demo”的div元素的子html元素。您可以过滤输出数组以删除未定义的元素,并拆分包含两个html元素的数组元素
测试网
我在这里
我是一个段落
我是h3标签
var-arr=[];
var x=document.querySelector(“#demo”).childNodes;
x、 forEach(元素=>{
arr.push(元件外部TML);
});
控制台日志(arr);
这是我找到的最简单的方法。我希望它能帮助别人
var tags = [];
var alltagsObjects = this.document.body.children;
for(i=0; i < alltags.length; i++){
tags.push(alltags[i].outerHTML);
}
console.log(tags);
var标记=[];
var alltagsObjects=this.document.body.children;
对于(i=0;i
- 首先,我们有标记数组来存储输出
- this.document.body.children将body标记的所有子项作为HTMLElementObject的节点列表(有点像数组)提供给我们
- 它还有一个名为“length”的属性,用于提供其子级的数量。我们用它来做循环
- 这些对象中的每一个都有一个名为“outerHTML”的属性(它与innerHTML属性相同,但区别在于它还包括该元素的标记)
- 现在只需将所有这些推送到我们的输出阵列
- 完成了李>
只需创建一个数组并循环页面中的所有元素,然后推入数组即可检查序列化html