当前页面中使用了多少种html标签

如题,

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,})/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值