2017-04-02 44 views
1

在頁面加載後,我無法顯示塊「登錄」。 我已經嘗試使用visibilitydisplay來使「塊」隱藏或不隱藏。使用JavaScript無法顯示「塊」

而且已經嘗試把腳本部分成不同的地方:

<!DOCTYPE html> 
 
<HTML> 
 

 
<head> 
 
    <meta charset="utf-8" /> 
 
    <link rel="stylesheet" type="text/css" href="../css/common.css"> 
 
    <style> 
 
    .login { 
 
     display: none; 
 
    } 
 
    </style> 
 

 
    <script> 
 
    function showlogin() { 
 
     document.getElementById("logvid").getElementByClassName("login").style.display = 'block'; 
 
    } 
 
    </script> 
 

 
    <title>City's Video</title> 
 
</head> 
 

 
<body onload="showlogin"> 
 

 
    <div id="logvid"> 
 
    <div class="login"> 
 
     <form method="post" action="home.html"> 
 
     Name: <input type="text" name="name"><br> Password: <input type="password" name="password"><br><br> 
 
     <input type="submit" name="Login" value="Login"> <input type="reset" value="reset"> 
 
     </form> 
 
    </div> 
 
    </div> 
 
</body> 
 

 
</HTML>

回答

0

getElementsByClassName將返回HTML elements的集合。因此,我們需要遍歷集合或更具體地瞭解哪些元素是需要的。

另一種方法是使用document.querySelectorAlldocument.querySelector

樣品下面的代碼片段:

window.onload = function() { 
 

 
    document.querySelectorAll("#logvid > .login").forEach(function(element, index, array) { 
 
    element.style.display = 'block'; 
 
    element.style.border = "1px solid green"; 
 
    }); 
 
}
.login { 
 
    display: none; 
 
}
<div id="logvid"> 
 
    <div class="login"> 
 
    <form method="post" action="home.html"> 
 
     Name: <input type="text" name="name"><br> Password: <input type="password" name="password"><br><br> 
 
     <input type="submit" name="Login" value="Login"> <input type="reset" value="reset"> 
 
    </form> 
 
    </div> 
 
</div>