有些元素没有被改变,即使它们应该被改变

Some Elements Aren't Being Changed Even Though They Should Be

本文关键字:改变 元素      更新时间:2023-09-26
当我

按下一个按钮并显示一个元素,然后按另一个按钮并显示另一个元素时,我想这样做,但它不起作用。我当前的代码是这样的:

function login() {
    var username = document.getElementById("username").value;
    var password = document.getElementById("password").value;
    if (username == "Ethan" && password == "Horton") {
        document.getElementById("test").innerHTML = "Logged In: Ethan";
        document.getElementById("p1").style.visibility = "hidden";
        document.getElementById("Logout").style.visibility = "visible";
    } else if (username == "Person" && password == "Password") {
        document.getElementById("test").innerHTML = "Logged In: Person";
        document.getElementById("p1").style.visibility = "hidden";
        document.getElementById("p1").style.visibility = "hidden";
        document.getElementById("Logout").style.visibility = "visible";
    } else {
        alert("Incorrect User/Pass");
    }
}

正如你所看到的,我需要改变很多东西,但它不会这样做。帮助?

演示:http://jsfiddle.net/dX28k/

快速简便的解决方案

确保在 HTML 中的双引号中使用单引号。

onclick="document.getElementById('p1').style.visibility='visible'"

适当的解决方案

  • 确保始终将Javascript,HTML,CSS分开,而不是将它们聚集在一起。
  • 例如,OnClick 事件应该在不向按钮标签插入 onClick 属性的情况下完成。
  • 使用严格相等以避免不匹配的类型 (===)。

http://jsfiddle.net/8dQNP/2/