逃避&的自动编码JavaScript中的字符

时间:2017-05-21 13:24:19

标签: javascript character-encoding escaping

我想创建一个表单按钮,其输入值是一个字体图标。在这种情况下FontAwesome。所以我使用这样的实体作为输入值:在CSS中使用font-family: FontAwesome设置样式的纯HTML中,一切都按预期工作:

<input type="submit" class="btn fa-input" value="&#xf043; Input">

但是,我想使用JavaScript创建此元素。在那种情况下,&amp;字符似乎总是最终被编码,所以我的实体出来&amp;#xf107;需要说的是,字面打印而不是字体图标。如何设法没有那个&amp;字符编码?

以下是我正在使用的Javascript

var button = utility.dom.createElement('input', {
  'type': 'button', 
  'className': 'fonticon', 
  'value': '&#xf107;',
  'title': 'bla bla bla',
  'tabIndex': 1000
});

和CSS

.fonticon {
  font-family:FontAwesome;  
}

1 个答案:

答案 0 :(得分:1)

如果您使用JavaScript设置值而不是将其硬编码到HTML中,请使用JavaScript转义序列,例如\uF107。您按钮值的代码应更改为:

'value': '\uf107',

顺便说一句,U + F107似乎不是一个有效字符:http://www.fileformat.info/info/unicode/char/f107/index.htm