簡體   English   中英

使用jQuery單擊父級時,如何使子級元素切換?

[英]How do I make a child element toggle when the parent is clicked using jQuery?

我一頁上有三張照片。 每張圖片下面都有三個事件的列表。 當用戶單擊事件時,該事件的信息應顯示在該事件下。 這是我的HTML:

<div id="pics">

        <div class="race_box">
            <img src="images/run1.jpg" /><br />
            <figcaption>5k/10k Events</figcaption>

            <div class="races" id="5k">
                <h3>5k/10 Events</h3>
                <ul>
                    <li id="sprint">Mini Sprint</li>
                        <ul>
                            <li class="info">10/30/17<br/>Memorial Park<br/>Appleton</li>
                        </ul>
                    <li id="iron">Iron Horse</li>
                        <ul>
                            <li class="info">11/06/17<br/>Bay Beach Park<br/>Green Bay</li>
                        </ul>
                    <li id="twilight">Twilight Trail</li>
                        <ul>
                            <li class="info">11/13/17<br/>River's Edge Park<br/>Wrightstown</li>
                        </ul>
                </ul>
            </div><!--  End of '5k' div-->
        </div> <!-- End of 'run1' div-->

這是我的CSS:

#header {
width: 100%;
height: 50px;
color: #0000ff;  /*blue*/
padding-top: 25px;
padding-left: 10%
}

h1 {
margin-top: -10px;
}

#main {
position: absolute;
z-index: -999;
display: inline-block;
background-color: #808080;  /*grey*/
width: 100%;
height: 250px;
padding: 1%;
width: 100%;
}

#pics {
width: 66%;
margin: 0 auto;
}

#pics figcaption {
color: #fff;  /*white*/
}

.race_box {
float: left;
width: 215px;
margin-right: 7.3%;
margin-top: 25px;
}
li {
list-style-type: none;
padding: 5px;
color: blue;
display: block;
margin-left: -40px;
}
.info {
display: none;
color: black;
}

我嘗試將其與.children.children方法一起使用,但無法正常工作。 這是我的JS:

$(document).ready(function() {

    $("li").click(function(){
       $(this).children().children().toggle(); 
    });
});

有什么建議么? 我希望用戶能夠單擊事件,顯示信息,再次單擊它並隱藏它。 任何幫助深表感謝!

請將ul內容包裝在li標記內,然后像這樣更改jquery。

 $(document).ready(function() { $("li").on("click", function() { $(this).find('li').toggle('info'); }); }); 
 #header { width: 100%; height: 50px; color: #0000ff; /*blue*/ padding-top: 25px; padding-left: 10% } h1 { margin-top: -10px; } #main { position: absolute; z-index: -999; display: inline-block; background-color: #808080; /*grey*/ width: 100%; height: 250px; padding: 1%; width: 100%; } #pics { width: 66%; margin: 0 auto; } #pics figcaption { color: #fff; /*white*/ } .race_box { float: left; width: 215px; margin-right: 7.3%; margin-top: 25px; } li { list-style-type: none; padding: 5px; color: blue; display: block; margin-left: -40px; } .info { display: none; color: black; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="pics"> <div class="race_box"> <img src="images/run1.jpg" /> <br /> <figcaption>5k/10k Events</figcaption> <div class="races" id="5k"> <h3>5k/10 Events</h3> <ul> <li id="sprint">Mini Sprint <ul> <li class="info">10/30/17 <br/>Memorial Park <br/>Appleton</li> </ul> </li> <li id="iron">Iron Horse <ul> <li class="info">11/06/17 <br/>Bay Beach Park <br/>Green Bay</li> </ul> </li> <li id="twilight">Twilight Trail <ul> <li class="info">11/13/17 <br/>River's Edge Park <br/>Wrightstown</li> </ul> </li> </ul> </div> <!-- End of '5k' div--> </div> <!-- End of 'run1' div--> 

暫無
暫無

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

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