簡體   English   中英

按下按鈕時如何將子元素隱藏在 div 元素中? (不隱藏父母)

[英]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';
  }
}

</i>

[英]How to delete the parent div when <i> tag inside button clicked?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM