如何从其字形中解码 html 杂项符号
How to decode html miscellaneous symbol from its glyph?
>我有一个div,其中包含一个设置 图标,该图标是 html 杂项符号
<span class="settings-icon">⚙</span>
我有一个茉莉花测试,可以检查div 内容以确保它没有改变。
it("the settings div should contain ⚙", function() {
var settingsIconDiv = $('.settings-icon');
expect(settingsIconDiv.text())
.toContain('⚙');
});
它不会通过,因为它被评估为齿轮图标⚙的字形符号
如何解码字形以通过测试?
要从 Unicode 获取实际字符以将其与 HTML 中的文字进行比较,您可以使用 String.fromCharCode(( 例如
.toContain(String.fromCharCode(9881))
您应该
检查字符串'⚙'
或者,如果您不知道如何在代码中输入它,则转义表示法'u2699
。还有其他更笨拙的方法来构造包含字符的字符串,但简单是最好的。
无论字符在HTML源代码中如何编写(例如,作为引用⚙
(,它都以字符本身U + 2699的形式出现在DOM中。在 JavaScript 中,像 ⚙
这样的字符串只是一个由七个 Ascii 字符组成的序列(尽管您可以将其传递给将其解析为 HTML 字符引用的函数,或者您可以将其分配给例如 innerHTML
属性,从而导致 HTML 解析,但这毫无意义且令人困惑(。
为了匹配浏览器行为(因为您不知道它是如何在 html 或文本中编码的(,我会尝试以下操作
.toContain($("<span>⚙</span>").text())
而不是.toContain('⚙')
.
这样它应该与它在 dom 中的存储方式相匹配。
Yuriy Galanter
提到的String.fromCharCode(9881);
肯定也是可靠的。但是因为 dom 引擎和 js 引擎是两个不同的部分,它们的行为可能不同,我会用这两种技术进行测试。
相关文章:
- 有没有一种方法可以在没有文档或jQuery的情况下使用javascript解码html实体
- AngularJs正在解码HTML字符(不需要)
- 隐藏HTML元素中的JSON编码和解码
- 需要使用Java编码/转义HTML字符串,并在JavaScript中解码HTML字符串
- JavaScript-解码URI以呈现为HTML
- 如何解码阿拉伯语的html内容以在android网页视图中显示
- 如何使用 JavaScript 实现 html 解码功能
- 如何使用车把解码 HTML 实体
- 使用 Angular 过滤器解码 HTML 实体
- 与文本框相关的 HTML 编码/解码
- 正在解码HTML十进制编码字符
- 如何从其字形中解码 html 杂项符号
- 谷歌图表API不解码HTML实体,虽然我传递它们解码
- 在javascript中编码/解码html标签
- 解码html字符串在JQuery移动模板
- Jquery append自动解码HTML编码字符串
- 如何编码和解码HTML特殊字符以获得实体名称
- Prototype.js或其他js函数来解码html实体
- AngularJs:如何解码HTML中的HTML实体
- 如何在Ruby on Rails项目中使用JavaScript解码HTML实体