为什么jquery会针对所有div?

时间:2013-11-16 20:12:12

标签: jquery html

我已经实现了切换到a site,切换了有关点击的更多信息。但是,当我点击它时,它会激活所有这些。

我不想要的东西。

这就是我所拥有的

<script type="text/javascript">
  $(document).ready(function(){


$(".slidingDiv").hide();
    $(".show_hide").show();

    $('.show_hide').click(function(){
    $(".slidingDiv").slideToggle();
    });

});
</script>


<a href="#" class="show_hide">More Information</a>

<div class="slidingDiv">
.....
</div>

3 个答案:

答案 0 :(得分:2)

在点击处理程序中使用this代替.slidingDiv

.slidingDiv选择所有slidingDivs - this仅选择触发点击的元素。

<script type="text/javascript">   $(document).ready(function(){


$(".slidingDiv").hide();
    $(".show_hide").show();

    $('.show_hide').on('click','.slidingDiv',function(){
    $(this).slideToggle();
    });

}); </script>

答案 1 :(得分:1)

<script type="text/javascript">
  $(document).ready(function(){


$(".slidingDiv").hide();
    $(".show_hide").show();

    $('.show_hide').click(function(){

$(this).parent().find(".slidingDiv").slideToggle();

    });

});
</script>

希望这有帮助。

答案 2 :(得分:1)

   <a href="#" class="show_hide">More Information</a>
   <div class="slidingDiv" class="show_hide">

你正在使用show_hide类两次,我认为这就是它总是显示的原因。