现在想实现对多个div进行操作<fieldset>
<legend>11111</legend>
<div>
11111111111111111
</div>
</fieldset>
<fieldset>
<legend>22222</legend>
<div>
22222222222222222
</div>
</fieldset>
<fieldset>
<legend>33333</legend>
<div>
333333333333333333
</div>
</fieldset>
<fieldset>
<legend>44444</legend>
<div>
444444444444444444
</div>
</fieldset>
<fieldset>
<legend>5555</legend>
<div>
55555555555555555
</div>
</fieldset>
<fieldset>
<legend>6666</legend>
<div>
6666666666666666666
</div>
</fieldset>用jquery如何实现 点击一个 <fieldset> 使它里面的div中内容隐藏
我的思路:想通过fieldset对象绑定 cliclk事件,用 show() 和 hide()方法来实现?
问题一:如何获取所有的fieldset对象?
问题二:如何获取该fieldset中的div?

解决方案 »

  1.   

    1. $("fieldset")2. $("fieldset div")
      

  2.   


    <script type="text/javascript" src="jquery.pack.js"></script>
    <script language="javascript">function show(){$('#1').toggle();}
    </script>
    <fieldset id="fs" onClick="show()">
    <legend>11111</legend>
    <div id ="1">
    11111111111111111
    </div>
    </fieldset>
      

  3.   

    fieldsetColl = document.body.getElementsByTagName("fieldset")
    得到所有的fieldset元素集合
    fieldsetColl.length 得到元素数量
    fieldsetColl.item(index) 得到元素fieldsetEl = fieldsetColl.item(index)
    fieldsetEl.getElementsByTagName("div") 得到 fieldset 下的div元素集合
      

  4.   

    1. $("fieldset")2. $("fieldset:eq(1) div").html() //想要第几个eq()中写几
      

  5.   


            $(document).ready(function (){        
                $("fieldset").each(function (){
                   $(this).click(function (){
                       $(this).children("div").css("display","none");
                   });
                });
            });
      

  6.   

    <fieldset>
    <legend>11111</legend>
    <div>
    11111111111111111
    </div>
    </fieldset>
    <fieldset>
    <legend>22222</legend>
    <div>
    22222222222222222
    </div>
    </fieldset>
    <fieldset>
    <legend>33333</legend>
    <div>
    333333333333333333
    </div>
    </fieldset>
    <fieldset>
    <legend>44444</legend>
    <div>
    444444444444444444
    </div>
    </fieldset>
    <fieldset>
    <legend>5555</legend>
    <div>
    55555555555555555
    </div>
    </fieldset>
    <fieldset>
    <legend>6666</legend>
    <div>
    6666666666666666666
    </div>
    </fieldset>
    <script src="http://code.jquery.com/jquery-latest.js"></script>
    <script>
    window.onload=function(){
        $("fieldset").each(function(){
            $(this).click(function(){
                $(this).find("div").toggle();
            });
        });
        
    }
    </script>
      

  7.   

    顶5楼、7楼的实现。
    7楼的实现比较帅一些。
    如果是我写的话,会将.find换成 .children
      

  8.   

    each真爽,不用写for循环,最讨厌for
      

  9.   

    用 jquery 提供的组件写起来代码很少,但它需要更多的CPU开销和内存来完成这件事,所以不建议它。