如何比较包含十六进制字符引用的innerHTML
How to compare innerHTML containing a hexadeximal character reference?
我有一个包含&x25bc;(显示为▼在渲染页面上):
<span id=up_down>▼</span>
问题是,当我尝试将innerHTML与&x25bc;
相反,它试图进行比较▼ == &x25bc;(和失败的)
var e = document.getElementById("up_down");
if ( e.innerHTML == '▲' )
{
e.innerHTML = '▼';
}
else if ( e.innerHTML == '▼' )
{
e.innerHTML = '▲';
}
尝试将其escape()
,并改用%u25BC
和%u25B2
。
var e = document.getElementById("up_down");
if ( escape(e.innerHTML) == '%u25B2' )
{
e.innerHTML = '▼';
}
else if ( escape(e.innerHTML) == '%u25BC' )
{
e.innerHTML = '▲';
}
演示
尝试比较字符代码:
if(e.textContent.charCodeA(0) == 0x25bc) {
// Your code
}
现在您正在将实际字符与包含其HTML实体表示的字符串进行比较。
试试这样的东西:
var upArrow = String.fromCharCode('0x25b2');
var downArrow = String.fromCharCode('0x25bc');
if ( e.innerHTML == upArrow )
{
e.innerHTML = downArrow;
}
else if ( e.innerHTML == downArrow )
{
e.innerHTML = upArrow;
}
相关文章:
- 文本框应该只允许十六进制值
- 将字符串解析为一系列转义十六进制字符的方法是什么
- 删除错误.MongooDB + Express.传入的参数必须是 12 个字节的单个字符串或 24 个十六进制字符的字符
- 将带有转义字符和 ASCII 值的字符串转换为十六进制
- 识别 Javascript 字符串中的连续十六进制字符块
- Javascript:正则表达式,用于将某些字符替换为十六进制代码
- 如何将中文十六进制字符串解码为中文字符或JavaScript
- 如何比较包含十六进制字符引用的innerHTML
- 将十六进制颜色传递到函数时,firefox中存在非法字符
- 正在将随机十六进制字符插入到web源代码中
- 如何在javascript中删除unicode十六进制字符
- 十六进制的字符表示
- 从JavaScript中删除基于十六进制值的字符串的特定字符
- 十六进制颜色码的按位补码总是返回6个字符吗?
- 如何将url/文本中的符号转换为十六进制字符?(转换=到%3D)
- 如何避免异常“;字符串中的无效十六进制字符“”;
- 搜索可能包含十六进制字符的单词
- 将十六进制转义字符转换为二进制
- 一次转换十六进制字符串2个字符
- 不匹配特定非标准字符的十六进制或十进制代码的正则表达式