Din*_*ino 4 javascript unicode jquery
在检查元素时,假设我有这个HTML.
<i class="fa fa-user">
::before
</i>
Run Code Online (Sandbox Code Playgroud)
CSS:
.fa-user::before {
content: "\f007";
}
Run Code Online (Sandbox Code Playgroud)
在这里,我获得了fa-user的内容
$('.fa-user').each(function(){
var unicode = window.getComputedStyle(this,':before').content;
console.log(unicode);
});
Run Code Online (Sandbox Code Playgroud)
问题是unicode变量呈现为图标(符号).
我希望它是字符串 - >"\ f007"
我也尝试了这个,但它只返回一些不相关的数字,在这种情况下它是22号
var unicode = window.getComputedStyle(this,':before').content.charCodeAt(0).toString(16);
有些浏览器用.content引号包装值(见这里).在获取第一个字符之前,您需要删除它们:
$('.fa-user').each(function() {
var unicode = window.getComputedStyle(this, ':before').content
.replace(/'|"/g, '') // <-----
.charCodeAt(0)
.toString(16);
console.log("\\" + unicode);
});Run Code Online (Sandbox Code Playgroud)
.fa-user::before { content: "\f007"; }Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<i class="fa fa-user"></i>Run Code Online (Sandbox Code Playgroud)