[英]How do I hide children inside a div element when button is pressed? (without hidding parent)
我的 html 文件中有這個側邊欄,我想在其中包含各種內容。 但是,我不能真正把它全部放在里面。 我想隱藏父 div side-bar
內的默認子項。 起初我嘗試制作一個循環遍歷所有孩子並將他們的樣式更改為style.display = 'none';
. 那沒有用。 我收到錯誤消息: code.js:128 Uncaught TypeError: Cannot set property 'display' of undefined
我當前的目標代碼是(在 javascript 中):
document.getElementById("other-stats").addEventListener("click",function()
{
for(var i = 0 ; i < document.getElementById("side-bar").children.length ; i++)
{
document.getElementById("side-bar").lastChild.style.display = 'none';
}
});
我很感激任何人都可以給出的答案,但我沒有在我的代碼中使用 Jquery,所以我希望得到一些 javascript 答案。
我的 html:
<div id="side-bar">
<div id="character-view-section">
<center>
<img style="width:150px ; height:200px ; margin-top:50px ;" alt="character">
</center>
</div>
<div id="stats-section">
<p id="health" style="border:solid 2px crimson ; background-color: crimson ;" class="stats">
health: 100
</p>
<p id="stamina" style="border:solid 2px rgb(38, 168, 21) ; background-color: rgb(38, 168, 21) ;" class="stats">
stamina: 50
</p>
<p id="weapon" style="border:solid 2px rgb(20, 197, 220); ; background-color: rgb(20, 197, 220) ;" class="stats">
weapon: NOT DETERMINED
</p>
</div>
<div id="inventory-section">
</div>
<center>
<button id="use-item">
use item
</button>
</center>
<button id="other-stats">
other stats
</button>
</div>
這是我制作的整個側邊欄 div。 除了酒吧之外,這里的所有東西都是我想隱藏的,以便放置其他元素。
您可以使用#side-bar > *
作為 select 側欄子元素的選擇器,然后可以循環遍歷它們以編程方式隱藏它們。
document.getElementById("other-stats").addEventListener("click",function()
{
var childElements = document.querySelectorAll("#side-bar > *" )
for(var i = 0 ; i < childElements.length ; i++)
{
childElements[i].style.display = 'none';
}
});
將 class 添加到您要隱藏的所有元素中,例如“hideMe”,然后單擊按鈕即可觸發此 function:
let children = document.querySelectorAll(".hideMe");
function hide() {
for (var i = 0; i < children.length; ++i) {
children[i].style.display = 'none';
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.