jquery如何检查<span> .html()==&#39;▴&#39; </span>

时间:2014-09-10 21:09:34

标签: jquery html

我有html代码:

<span id="icon">&#9652;</span>.

jquery代码为:

var icon = $('#icon').html();
if(icon == '&#9652;')
return true;
else return false.

代码行:

icon == '&#9652;'

总是返回false。 它为什么以及如何解决它?

感谢您的帮助。

3 个答案:

答案 0 :(得分:3)

如果您检查.text()财产,您将使自己的生活更轻松;这样您就不必担心HTML实体了。例如:

var icon = $('#icon').text();
return icon === '▴';

如果您正在测试HTML,那么您必须担心该字符是否由HTML中的常规字符,数字实体,数字十六进制实体或命名实体表示,尽管jQuery可能正在规范化

答案 1 :(得分:2)

您可以检查&#9652;的{​​{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('&#9652;').html();
if(icon == compare)
    alert(true);
else
    alert(false)

http://jsfiddle.net/mL8c9v0n/