用javascript比较2个ASCII字符

时间:2014-08-31 08:57:42

标签: javascript jquery html

我有一个div如下:

<div class="job-article-holder-click-for-more-link">
    &#x25B2;
 </div>

我的javascript如下:

$('.job-article-holder-click-for-more-link').on('click', function () {
    $(this).html() == "&#x25B2;" ? $(this).html('&#x25BC;') : $(this).html('&#x25B2;');
});

检查每次都失败,怎么回事?它基本上是一个箭头,当我点击它时,我只是试图将它切换为显示和显示。

2 个答案:

答案 0 :(得分:2)

使用charCodeAt获取实际字符并使用{{3}}检查ascii(实际上是unicode)值可能更安全,而不是检查实际的HTML。如上所述,您需要先修改内容:

$('.job-article-holder-click-for-more-link').on('click', function () {
    $(this).text().trim().charCodeAt(0) == 9650 ?
        $(this).html('&#x25BC;') : $(this).html('&#x25B2;');
});

答案 1 :(得分:0)

可能你有html返回的空格。尝试修剪html()输出。

$('.job-article-holder-click-for-more-link').on('click', function () {
    $(this).html().trim() == "&#x25B2;" ? $(this).html('&#x25BC;') : $(this).html('&#x25B2;');
});