【发布时间】:2016-07-09 11:10:45
【问题描述】:
我正在创建一个切换功能来“收藏”许多列表中的一个项目。我有工作脚本来切换项目进出用户特定的收藏夹列表,将该更改传达给数据库,并相应地填充站点的其余部分。一切正常,主要是 PHP 和 Ajax。 但是,我的 javascript 很糟糕。我被困在一个条件下,将图标从一个充满的心变成一个空心的。由于某种原因,即使 if 语句为假,它也永远不会到达 else 语句。如果我颠倒条件,它仍然会处理 if 罚款,但不会处理 else。
图片是:
<img src="includes/icons/fave-<?php echo $favStatus; ?>.png" id="faveToggle" class="faveIcon" onClick="toggleFave()">
位于 toggleFave() 中的条件是:
if(document.getElementById('faveToggle').src.toString().indexOf("fave-false.png")){
document.getElementById('faveToggle').src = "includes/icons/fave-true.png";
} else {
document.getElementById('faveToggle').src = "includes/icons/fave-false.png";
}
那么,呃,我该怎么办?
【问题讨论】:
-
.indexOf返回一个数字,而不是true/false。 -
添加到@Pointy
Boolean(-1)是真的,不是假的。
标签: javascript if-statement conditional