- 39
- 0
问题描述
例如有这么一段随机生成的html
<div>
sad啊萨达萨达12321213!@#$
<span class="123asd" id="123">$$%^asdsad</span>
asdsadq啊萨达萨达
<p class="_ _aaa">
asdas啊萨达萨达!@#!@#
<span>阿三打撒123!@#@sadas</span>
</p>
</div>
1、层级随机
2、html中的标签随机
3、标签的class与id随机,可能为空
4、标签的内容随机,可能为空
那么用什么方法可以把这段HTML中的所有标签提取出来,注意!只要标签,要过滤内容
求助!
- 共 0 条
- 全部回答
-
我在m城有车 普通会员 1楼
在HTML结构中提取标签可以使用以下几种方法:
- 使用DOM API(Document Object Model):
```javascript const dom = document.documentElement;
// 获取所有标签元素 const tags = dom.getElementsByTagName('*');
// 遍历所有标签元素 for (let i = 0; i < tags.length; i++) { const tag = tags[i]; console.log(tag.tagName); } ```
这种方法会返回一个包含所有标签元素的数组,每个元素的标签名都是
<tag>标签的标签名。例如,如果HTML结构如下:```html
Heading 1
Paragraph 1
Heading 2
Paragraph 2
```
则上述代码将输出:
```
Heading 1
Paragraph 1
Heading 2
Paragraph 2
```
- 使用CSS选择器:
```javascript const dom = document.documentElement;
// 使用CSS选择器获取所有类名为"my-class"的标签元素 const myClasses = dom.querySelectorAll('.my-class');
// 遍历所有类名为"my-class"的标签元素 for (let i = 0; i < myClasses.length; i++) { const tag = myClasses[i]; console.log(tag.tagName); } ```
这种方法会返回一个包含所有类名为"my-class"的标签元素的数组,每个元素的标签名都是
<tag>标签的标签名。例如,如果HTML结构如下:```html
Heading 1
Paragraph 1
Heading 2
Paragraph 2
```
则上述代码将输出:
```
Heading 1
Paragraph 1
Heading 2
Paragraph 2
```
- 使用正则表达式:
```javascript const dom = document.documentElement;
// 使用正则表达式匹配所有匹配".my-class"的标签元素 const myClasses = Array.from(dom.querySelectorAll('div.my-class'));
// 遍历所有匹配".my-class"的标签元素 for (let i = 0; i < myClasses.length; i++) { const tag = myClasses[i]; console.log(tag.tagName); } ```
这种方法会返回一个包含所有匹配".my-class"的标签元素的数组,每个元素的标签名都是
<tag>标签的标签名。例如,如果HTML结构如下:```html
Heading 1
Paragraph 1
Heading 2
Paragraph 2
```
则上述代码将输出:
```
Heading 1
Paragraph 1
Heading 2
Paragraph 2
```
- 使用Node.js和DOMParser库:
```javascript const dom = new DOMParser(); const xmlDoc = dom.parseFromString(html, 'text/html');
// 遍历所有标签元素 const tags = xmlDoc.getElementsByTagName('*');
// 遍历所有标签元素 for (let i = 0; i < tags.length; i++) { const tag = tags[i]; console.log(tag.tagName); } ```
这种方法需要安装
dom-parser库,可以通过以下命令在Node.js中安装:bash npm install dom-parser然后,可以使用
DOMParser的parseFromString方法将HTML字符串解析为DOM对象,然后使用getElementsByTagName方法获取所有标签元素。例如,如果HTML结构如下:```html
Heading 1
Paragraph 1
Heading 2
Paragraph 2
```
则上述代码将输出:
```
Heading 1
Paragraph 1
Heading 2
Paragraph 2
```
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
