我有html代码:
<span id="icon">▴</span>.
jquery代码为:
var icon = $('#icon').html();
if(icon == '▴')
return true;
else return false.
代码行:
icon == '▴'
总是返回false。 它为什么以及如何解决它?
感谢您的帮助。
答案 0 :(得分:3)
如果您检查.text()
财产,您将使自己的生活更轻松;这样您就不必担心HTML实体了。例如:
var icon = $('#icon').text();
return icon === '▴';
如果您正在测试HTML,那么您必须担心该字符是否由HTML中的常规字符,数字实体,数字十六进制实体或命名实体表示,尽管jQuery可能正在规范化
答案 1 :(得分:2)
您可以检查▴
的{{1}}的unicode:
U+25B4
:您还可以在var icon = $('#icon').html();
if(icon == '\u25B4')
alert("true");
else
alert("false");
中使用十六进制的unicode编号,只需添加html
:
x
答案 2 :(得分:1)
雅各布的回答是正确的......
但是,如果真的有充分理由比较实际的HTML表示法(即它是动态的,来自数据库等),你可以用Jquery创建一个compare元素:
var icon = $('#icon').html();
var compare = $("<span>").append('▴').html();
if(icon == compare)
alert(true);
else
alert(false)