Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JavaScript/jQuery将HTML实体指定为属性值_Javascript_Jquery_Html Entities_Icon Fonts - Fatal编程技术网

使用JavaScript/jQuery将HTML实体指定为属性值

使用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': '&#57372;'

我一直在使用css技巧向网站添加图标:

我的CSS中有以下内容:

[data-icon]:before {
  font-family: Symbol;
  content: attr(data-icon);
  speak: none;
}
但是,我的部分接口是使用jQuery生成的。这里有一个这样的控件:

var $control = $('<div>', {
    'aria-hidden':'true'
    , 'data-icon': '&#57372;'
});
只在数据中包含数字,但符号仍然显示为自己编码的


有没有办法对该实体进行编码并将其正确输出到页面?

这有点老套,但应该可以:

'data-icon': $("<span>&#57372;</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>&#57372;</span>").contents().get(0).nodeValue