如题,
1、想到的第一个方法,使用JavaScript
document.getElementByTagName("*")
,根据元素标签名获取元素,当参数为* 时,表示所有元素。document.querySelectorAll("*")
,返回与指定的选择器组匹配的文档中的元素列表,当参数是*时,表示所有标签。
但是,别的解决方式呢??
2、正则
写个正则表达式,匹配当前.html中的所有 HTML标签,,该去重去重,该干嘛干嘛。。。
2.1 表达式
var pt=/\<([a-zA-Z0-9]{1,n})/g
2.2 匹配当前页面
正则表达式匹配的是个字符串,如何将当前页面转换为字符串呢?
document.documentElement.outerHTML
返回时,内容包含描述元素及其后代的序列化HTML片段。
2.3 匹配并返回结果
const pt=/\<([a-zA-Z0-9]{1,})/g;
const htmls=document.documentElement.outerHTML;
const bb=htmls.match(pt);
console.log(bb);
可以看到这个结果和预期中有差距啊。。。。 小括号()
中的内容并没有匹配出来。
其实这样也可以得到结果。。。去重。。。。去掉标签前的<
就可以了
const pt = /\<([a-zA-Z0-9]{1,})/