我正在使用JS构建类似货币转换器应用程序的东西,并且在交换货币方面存在问题。
当我按下交换按钮时,元素按照应有的方式交换,但当我再次按下交换按钮时没有任何反应,我无法切换回来。
这是我的代码:
<script>
var changeCurr = document.getElementById("swap-currency");
function swap() {
var leftBtn = document.getElementById("konverter-btn-left");
var rightBtn = document.getElementById("konverter-btn-right");
var leftImg = document.getElementById("konverter-img-left");
var rightImg = document.getElementById("konverter-img-right");
if (leftBtn.textContent = "EUR") {
leftBtn.innerHTML = "USD " + '<span class="caret"></span>';
rightBtn.innerHTML = "EUR " + '<span class="caret"></span>';
leftImg.src = "assets/img/usa-flag.png";
rightImg.src = "assets/img/eu-flag.jpg";
} else if (leftBtn.textContent = "USD") {
leftBtn.textContent = "EUR " + + '<span class="caret"></span>';
rightBtn.textContent = "USD " + '<span class="caret"></span>';
leftImg.src = "assets/img/eu-flag.png";
rightImg.src = "assets/img/usa-flag.jpg";
}
}
changeCurr.addEventListener("click", swap);
</script>
问题出在哪里?
答案 0 :(得分:-1)
您似乎误将conv2d_transpose
误认为是=
和==
运营商。
我们在评论中为您的问题提供了答案。
您可以进一步查看此link以获取有关差异的说明。
简而言之,===
是抽象比较,有时可能会给您带来不必要的结果。举个例子来考虑
==
,其值为true,因为值被隐式转换为具有相同的类型。
另一方面,在"0" == 0 // evaluates to true
中的,两个值都没有被隐式转换,如果值有不同的类型,则认为它们是不相等的。
“0”=== 0 //评估为假
祝你好运。