JavaScript按钮只能在

时间:2018-01-28 13:19:22

标签: javascript

我正在使用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>

问题出在哪里?

1 个答案:

答案 0 :(得分:-1)

您似乎误将conv2d_transpose误认为是===运营商。

我们在评论中为您的问题提供了答案。

您可以进一步查看此link以获取有关差异的说明。

简而言之,===是抽象比较,有时可能会给您带来不必要的结果。举个例子来考虑

==

,其值为true,因为值被隐式转换为具有相同的类型。

另一方面,在"0" == 0 // evaluates to true 中的

,两个值都没有被隐式转换,如果值有不同的类型,则认为它们是不相等的。

“0”=== 0 //评估为假

祝你好运。