简体   繁体   English

jQuery | 使用div制作show()和hide()

[英]jquery | To make show() and hide() using divs

I had a html code which i have to make divs show() and hide() as a list. 我有一个html代码,我必须将divs show()和hide()作为列表。 I know how to make show() and hide() but i'm not familiar with html structure. 我知道如何制作show()和hide(),但是我对html结构不熟悉。

This is the my html code. 这是我的html代码。

<!--contants:start-->
<div class="sub_contants">
<!--sub_title:start-->
<div class="titline"></div>
<h2>FAQ</h2>
<!--sub_title:end-->
<!--sub_contants:start-->
<div class="sub_border_faqbox"></div>
<div class="sub_border_faq_q">자주하는 질문?</div>
<div class="sub_border_faq_a">자주하는 질문?<br>답변<br>답변<br>답변<br>답변<br>답변</div>
<div class="sub_border_faq_q">자주하는 질문?</div>
<div class="sub_border_faq_a">자주하는 질문?<br>답변<br>답변<br>답변<br>답변<br>답변</div>
<div class="sub_border_faq_q">자주하는 질문?</div>
<div class="sub_border_faq_a">자주하는 질문?<br>답변<br>답변<br>답변<br>답변<br>답변</div>
<div class="sub_border_faq_q_select">자주하는 질문?</div>
<div class="sub_border_faq_a">자주하는 질문?<br>답변<br>답변<br>답변<br>답변<br>답변</div>
<div class="sub_border_faq_q">자주하는 질문?</div>
<div class="sub_border_faq_a">자주하는 질문?<br>답변<br>답변<br>답변<br>답변<br>답변</div>
<!--sub_contants:end-->
<div class="sub_bottom"></div>

<script language="javascript">
$(".sub_border_faq_a").hide();
$(".sub_border_faq_q").click(function(){
    $(this).addClass("sub_border_faq_q_select");
    $(".sub_border_faq_a").toggle();
});

The all divs are share the same classes because of the css so that all divs toggle at the same time. 由于css,所有div共享相同的类,因此所有div同时切换。 How can i make div toggle separately? 如何使div分别切换? Do i have to divide this structure? 我必须划分这种结构吗? How can i fix this code? 我该如何解决此代码?


$(".sub_border_faq_a").hide();
$(".sub_border_faq_q").click(function(){
$(this).next(".sub_border_faq_a").toggle(function() {
    $(this).prev(".sub_border_faq_q_select").addClass("sub_border_faq_q");
    $(this).prev(".sub_border_faq_q_select").removeClass("sub_border_faq_q_select");
}, function() {
    $(this).prev(".sub_border_faq_q").addClass("sub_border_faq_q_select");
    $(this).prev(".sub_border_faq_q_select").removeClass("sub_border_faq_q");
});

I want to addClass and removeClass to show div is selected or not but the addClass("sub_border_faq_q_select") and removeClass("sub_border_faq_q") work properly but the other side doesn't work. 我想要addClass和removeClass来显示是否选择了div,但是addClass(“ sub_border_faq_q_select”)和removeClass(“ sub_border_faq_q”)可以正常工作,但另一端却无法工作。 Did i do something wrong? 我做错什么了吗?


I fix the above code :-) and it works very well. 我修复了上面的代码:-),并且效果很好。

$(".sub_border_faq_q").click(function(){
    $(this).next(".sub_border_faq_a").toggle(function() {
        $(this).prev('.sub_border_faq_q').toggleClass( "sub_border_faq_q_select" );
    });
});

You want to toggle the next sibling answer of the clicked question so 您想切换点击问题的下一个同级答案,以便

$(".sub_border_faq_a").hide();
$(".sub_border_faq_q").click(function(){
    $(this).addClass("sub_border_faq_q_select");
    $(this).next(".sub_border_faq_a").toggle();
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM