使用JavaScript/jQuery将HTML实体指定为属性值
我一直在使用css技巧向网站添加图标: 我的CSS中有以下内容:使用JavaScript/jQuery将HTML实体指定为属性值,javascript,jquery,html-entities,icon-fonts,Javascript,Jquery,Html Entities,Icon Fonts,我一直在使用css技巧向网站添加图标: 我的CSS中有以下内容: [data-icon]:before { font-family: Symbol; content: attr(data-icon); speak: none; } 但是,我的部分接口是使用jQuery生成的。这里有一个这样的控件: var $control = $('<div>', { 'aria-hidden':'true' , 'data-icon': ''
[data-icon]:before {
font-family: Symbol;
content: attr(data-icon);
speak: none;
}
但是,我的部分接口是使用jQuery生成的。这里有一个这样的控件:
var $control = $('<div>', {
'aria-hidden':'true'
, 'data-icon': ''
});
只在数据中包含数字,但符号仍然显示为自己编码的
有没有办法对该实体进行编码并将其正确输出到页面?这有点老套,但应该可以:
'data-icon': $("<span></span>").contents().get(0).nodeValue
'data-icon':$(“&57372;”).contents().get(0).nodeValue
其工作原理如下:
$(“&entity;”)
创建一个span元素,其中有一个子元素的类型为textNode
。用于提取所有子节点,包括文本节点,其nodeValue
随后分配给数据图标
属性。要在JavaScript中编码代码点57372,请使用'\ue01c'
您应该知道,它不会很好地呈现,因为unicode将其定义为私有使用区域中未分配的代码点:
私人用地
范围:E000-F8FF
私人使用区域不包含任何字符分配,因此不需要字符代码图或名称列表
为这一地区提供
也许你指的是另一个代码点。这给了我一个“a”“当我在web inspector中查看HTML时,在数据图标属性中,但至少没有
&代码>。可能是在正确的轨道上…这确实是非常黑客,但它确实有效。非常感谢。如果有更整洁的解决方案,我仍然欢迎。我使用的是我通过IcoMoon生成的图标字体,所以这是正确的id。它可以工作!谢谢。@user1879785,明白了——icoMoon必须创建并加载自定义字体。
'data-icon': $("<span></span>").contents().get(0).nodeValue