将2个ASCII字符与javascript进行比较
我有一个部门如下:将2个ASCII字符与javascript进行比较,javascript,jquery,html,Javascript,Jquery,Html,我有一个部门如下: <div class="job-article-holder-click-for-more-link"> ▲ </div> $('.job-article-holder-click-for-more-link').on('click', function () { $(this).html() == "▲" ? $(this).html('▼') : $(this).
<div class="job-article-holder-click-for-more-link">
▲
</div>
$('.job-article-holder-click-for-more-link').on('click', function () {
$(this).html() == "▲" ? $(this).html('▼') : $(this).html('▲');
});
每次检查都失败,为什么?它基本上是一个箭头,我只是尝试在单击它时上下切换它。可能html返回的内容中有空格。尝试修剪html()输出
与检查实际HTML相比,获取实际字符并使用检查其ascii(实际上是unicode)值可能更安全。如前所述,您需要首先修剪内容:
$('.job-article-holder-click-for-more-link').on('click', function () {
$(this).text().trim().charCodeAt(0) == 9650 ?
$(this).html('▼') : $(this).html('▲');
});
首先,在比较之前,您需要删除大量空白:
$.trim($('this.html())==“▲”
,第二个html()
可以返回也可以不返回字符实体代码(“code>▲)或字符本身。如果您赢了,您已经在我之前几秒钟发布了答案:-)
$('.job-article-holder-click-for-more-link').on('click', function () {
$(this).text().trim().charCodeAt(0) == 9650 ?
$(this).html('▼') : $(this).html('▲');
});