javascript - 从 html 文本中提取所有 css 类

标签 javascript html css regex

例如,我有一个 html 作为文本字符串

var html="bla<p class="  c1 c2">blabla<button></button><div id="bla" class="c1   c3 "></div>"

我想将所有唯一类提取到一个数组中。所以我想要这样的结果:

classes=['c1','c2','c3']

我尝试使用 regexp 但无法弄清楚如何分组和收集所有单独的类,以及如何仅将唯一的类提取到数组中?

请注意 - 我需要一个普通的 javascript(无 jquery)解决方案!

最佳答案

你可以这样做:

var html = "bla<p class='c1 c2'>blabla<button></button><div id='bla' class='c1 c3'></div>";

var classes = []; // empty array

html.replace(/class=['"][^'"]+/g, function(m){ // https://regex101.com/r/jD0wX1/1
    classes = classes.concat(m.match(/[^'"]+$/)[0].split(' ')); // https://regex101.com/r/jD0wX1/2
}); // take all classes

classes = classes.filter(function(item, pos) {
    return classes.indexOf(item) == pos;
}); // return unique classes

console.log(classes); // Run code snippet -> then press f12 to see the array

希望对您有所帮助。

关于javascript - 从 html 文本中提取所有 css 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33027291/

相关文章:

javascript - 谷歌图表 : Adding points to a candlestick chart

javascript - 当访问者访问特定页面时从缓存中删除我的网站

javascript - 如何将 SVG 文本动画设置为 "written out"

css - 使用 float 和负边距重新排列 2 个 div 的视觉顺序

css - 如何将特定的 css 类设置为 gtk3 中的小部件? (C)

javascript - slideToggle 覆盖媒体查询

javascript - 从事件监听器获取嵌套的 li 'keyup'

javascript - Ajax Loader 和链式选择框

javascript - 当下方没有可用空间时,在上方显示弹出气泡

jquery - 如何在样式化的选择下拉列表中模仿键盘行为?