[英]Show/Hide Div by clicking another div
我是javascript的初學者,我寫了一個簡單的代碼,試圖通過單擊另一個div來顯示/隱藏div。 如果有人可以檢查我編寫的代碼並更正我,我將不勝感激。 提前致謝。
$('DivBlue').ready(function() {
$('DivRed').on('click', function(){
document.getElementById('DivBlue').style.display = 'block';
});
});
.DivRed{
position:absolute;
top:0;
left:0;
width:15vw;
height:15vw;
background-color:red;
}
.DivBlue{
position:absolute;
display:none;
right:0;
bottom:0;
width:15vw;
height:15vw;
background-color:blue;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="DivRed"></div>
<div class="DivBlue"></div>
Toggle在jQuery中發揮了作用:
$(document).ready(function() {
$('.DivRed').on('click', function() {
$('.DivBlue').toggle();
});
});
以此替換您的JavaScript,它肯定會起作用。
$(document).ready(function() {
$('.DivRed').click(
function() {
$('.DivBlue').toggle();
});
});
您在這里犯了一些錯誤,
您無法使用document.getElementById()
方法通過類名稱獲取div。 您需要使用document.getElementsByClassName()
方法。
document.getElementsByClassName()
返回一個NodeList 。 您不能將CSS應用於NodeList。 因此,您需要選擇一個節點以使用document.getElementsByClassName('DivBlue')[0]
應用CSS
為了工作,您的代碼應更改為
$('DivBlue').ready(function() {
$('DivRed').on('click', function(){
document.getElementsByClassName('DivBlue')[0].style.display = 'block';
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.