javascript - 访问 :before pseudo selector 上的样式属性 "content"

标签 javascript html css unicode

我在一个页面上有大约 250 个字体图标,我想以编程方式提取每个图标的 Unicode 值。

典型的图标有相应的 CSS,如下所示:

.icon-play:before {
    content: "\f04b";
}

到目前为止我尝试了什么......

document.querySelectorAll('[class^=icon-]') 以访问图标(现在将每个图标称为 i)。 i.style 尝试访问样式对象。问题是 i.style.content 值为空。

我也尝试以这种方式访问​​内容 document.querySelectorAll('[class^=icon-]:before') 但这会产生一个空结果。

感谢任何帮助。谢谢。

最佳答案

给你:

var is = document.querySelectorAll('[class^=icon-]');
[].forEach.call(is, function (i) {
    console.log(
        window.getComputedStyle(i, ':before').content.slice(1, -1) // Strip off surrounding quotes
    );
});

JSFiddle (为了直观地显示结果而增加了一些复杂性)

就提取 Unicode 值而言,您没有指定所需的格式(除非您只是想获取字符串内容),但如果您需要代码点,可以应用 charCodeAt()到上面字符串的每个字符,找出它们的代码点并根据需要处理它们。

关于javascript - 访问 :before pseudo selector 上的样式属性 "content",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16196007/

相关文章:

javascript - 使用 AJAX 脚本加载 PHP 文件的内容

javascript - Bootstrap 弹出窗口未关闭

javascript - jQuery 提交表单并获取响应

html - 我应该为我的电子邮件模板使用 HTML 4.0 标记吗?

javascript - 响应式水平滚动导航栏

javascript - 使用 GTM 和自定义事件时未定义 Google Analytics 事件标签

javascript - 如何显示 Polymer 对话框

html - 我如何使用 flexbox 来实现具有垂直对齐列和斑马纹阴影的表格外观?

css - 在 ruby​​ on rails 中使用变量设置 css 样式

html - Bootstrap 4 为什么我的网格列是 "eating"其他列