javascript – 向伪元素添加图标

前端之家收集整理的这篇文章主要介绍了javascript – 向伪元素添加图标前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试通过 JavaScript向我的导航(动态更改)添加图标.

这是我的代码(或JSFiddle):

var icon = document.querySelector('#icon');
icon.setAttribute('data-icon','†');
#icon:after {
  content: attr(data-icon);
}
<div id="icon" data-icon="">
  Icon
</div>

但它不起作用,为什么?尝试手动编辑数据图标属性时,会出现图标.否则只是图标的unicode.

解决方法

HTML实体在CSS中没有任何意义.如果您想要遵循该路径,则需要先解码它:
var icon = document.querySelector('#icon');
var tmp = document.createElement("span");
tmp.innerHTML = '&#x2020;';
icon.setAttribute('data-icon',tmp.innerText);
#icon:after {
  content: attr(data-icon);
}
<div id="icon" data-icon="">
  Icon
</div>

…或者,只需按原样键入字符(只要您的应用程序是用UTF-8编写的):

var icon = document.querySelector('#icon');
icon.setAttribute('data-icon','†');
#icon:after {
  content: attr(data-icon);
}
<div id="icon" data-icon="">
  Icon
</div>

顺便说一句,我不知道在哪里&#x086;因为它似乎不是一个有效的实体参考(虽然它似乎无论如何都有效).我能找到的标准Unicode字符是U+2020 DAGGER,因此该实体将是&#x2020;.我已经编辑了我的原始代码段来使用它.

原文链接:https://www.f2er.com/js/150008.html

猜你在找的JavaScript相关文章