检测HTML元素是否包含特定字符实体

时间:2014-08-20 15:29:08

标签: javascript html-entities decoding

如果我有这样的标记:

<div id="foo">&#xf067;</div>

我想稍后检测div#foo是否仍然包含相同的字符实体,我希望能够通过将它与&#xf067;进行比较而不是(在我的代码库因维护而非常钝。)

我尝试过这样的事情(使用jQuery):

console.log($('<textarea />').html($('#foo').html()).val());

但是,这似乎仍然会输出一个漂亮的小方块“你说什么”,而不是所谓的&#xf067;

我对简单的JavaScript或特定于jQuery的解决方案持开放态度。

1 个答案:

答案 0 :(得分:3)

您可以在JavaScript中使用Unicode实体。例如:

(HTML:<div id='foo'>&#xf067;</div>

JavaScript的:

console.log($('#foo').html().charCodeAt(0).toString(16));
  //=> f067
console.log($('#foo').html().indexOf('\uf067'));
  //=> 0

Here's a JSFiddle.