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

标签 javascript html-entities decoding

如果我有这样的标记:

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

并且我想稍后检测 div#foo 是否仍然包含相同的字符实体,我希望能够通过将其与 进行比较而不是与 (在我的代码库中,出于维护目的,这相当迟钝)。

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

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

但这似乎仍然输出漂亮的小方 block “what you talkin' 'bout”字符,而不是所需的

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

最佳答案

您可以在 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.

关于javascript - 检测HTML元素是否包含特定字符实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25408731/

相关文章:

jquery - 防止 jQuery 转义 html 实体

c# - 加载 AAC/MP3 文件 "manually"

java - Java中的HTML实体解码: apostrophe

php - Base64 解码在 Node 中的工作方式与在 php、perl 或 python 中不同

javascript - 使用下拉标签来验证其他下拉值

javascript - 通过http传输大量json

javascript - 更改图像映射中不同多边形的标题属性

javascript - CKEditor 插件 - 为选定文本迭代多个 DOM 元素的正确方法

php - 什么是允许使用 HTML 输出并避免 XSS 攻击的函数

javascript - 如何使用 JavaScript 将 HTML 实体解码为本地语言(波斯语)