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

Thi*_*ble 4 javascript jquery html-entities icon-fonts

我一直在 css-tricks 上遵循这种技术来将图标添加到网站: http: //css-tricks.com/html-for-icon-font-usage/

我的 CSS 中有这个:

[data-icon]:before {
  font-family: Symbol;
  content: attr(data-icon);
  speak: none;
}
Run Code Online (Sandbox Code Playgroud)

然而,我的界面的一部分是使用 jQuery 生成的。这是一个这样的控件:

var $control = $('<div>', {
    'aria-hidden':'true'
    , 'data-icon': '&#57372;'
});
Run Code Online (Sandbox Code Playgroud)

我尝试过将其编码为\e01c, \\e01c, &#xe01c;,你能想到的,我可能已经尝试过了。结果总是相同的,“&”号之后的所有内容都会呈现到屏幕上,因为“&”号像&amp;源代码中那样出现,或者反斜杠显示出来。

我尝试连接 CSS 内容:

content: "&" attr(data-icon) ";";
Run Code Online (Sandbox Code Playgroud)

并且仅在数据中包含数字,但&符号仍然显示为单独编码。

有什么方法可以对该实体进行编码并使其正确输出到页面吗?

Mik*_*uel 5

要在 JavaScript 中编码代码点 57372,请使用'\ue01c'.

您应该意识到它不会很好地呈现,因为 unicode 将其定义为私有使用区域中未分配的代码点”:

http://www.unicode.org/charts/PDF/UE000.pdf

私人使用区

范围:E000-F8FF

私人使用区域不包含任何字符分配,因此没有为该区域提供字符代码表或名称列表。

也许你指的是另一个代码点。