如何使用 javascript 或 jquery 仅从字符串中获取所有 HTML 标记? [关闭]

Posted

技术标签:

【中文标题】如何使用 javascript 或 jquery 仅从字符串中获取所有 HTML 标记? [关闭]【英文标题】:How to get only all HTML tags to list from string using javascript or jquery? [closed] 【发布时间】:2018-10-31 05:01:20 【问题描述】:

如何从字符串中获取仅包含所有 html 标记的列表?我们可以使用 javascript、jquery 或任何 C# 库或 api。 我们有一个大字符串:

<html>
<head>
</head>
<body>
qwe
<button type="button">Click Me!</button>
<a>xyz</a>
<button type="button"/>
</body>
</html>

我想获取列表 = &lt;html&gt;,&lt;head&gt;,&lt;body&gt;,&lt;button type="button"&gt;,&lt;button&gt;,&lt;a&gt;,&lt;button&gt; 我需要计算字符串中每个 HTML 标记出现的次数,并显示最常见的 3 个。

【问题讨论】:

我尝试使用 HtmlAgilityPack 和 var bla = document.getElementsByTagName("*");但我不知道下一步该做什么 Get all elements in the body tag using pure javascript的可能重复 【参考方案1】:

类似的东西:

var tagList = ;
var tag;
document.querySelectorAll('*').forEach(function(node) 
  tag = node.tagName.toLowerCase();
  if (!tagList[tag]) 
    tagList[tag] = 1;
   else 
    tagList[tag]++;
  
);
tagList; // object, where key - html tag, and value – tag count per html document

享受吧!

【讨论】:

【参考方案2】:

这就是你想要的。但是,如果您稍微搜索一下,您将能够找到at here。

$(document).ready(function()
  var tags = $("*").map(function() 
   return this.nodeName; 
).get()
// Filter out the duplicates
.filter(function(value, index, self) 
    return self.indexOf(value) === index;
);
console.log(tags);
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<html>
<head>
</head>
<body>
qwe
<button type="button">Click Me!</button>
<a>xyz</a>
<button type="button"/>
</body>
</html>

【讨论】:

我在服务器上运行这段代码,我不能在那里使用 JQuery 我有一个包含 html 的字符串,我想从中获取标签

以上是关于如何使用 javascript 或 jquery 仅从字符串中获取所有 HTML 标记? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 JavaScript 或 jQuery 更改数组内对象的值?

如何使用 jquery 或 javascript 删除索引处的行? [复制]

如何使用 jQuery 或 JavaScript 设置底边距

如何使用 PHP 或 JavaScript/jQuery 禁用地址栏?

如何防止使用 jQuery 或 Javascript 进行双重提交?

当您使用 javascript 或 jquery 将鼠标悬停时,如何使图像或按钮发光?