<dl>
<dt>标题A</dt>
 <dd>1</dd>
 <dd>2</dd>
<dt>标题B</dt>
 <dd>11</dd>
 <dd>22</dd>
 <dd>33</dd>
</dl>上面的HTML代码中,当我点击某一个DT元素时,我希望得到这个DT元素下面的若干的DD元素。而DD的数量是不固定的。
比如:
点击<dt>标题A</dt>时,选择到<dd>1</dd><dd>2</dd>
而点击<dt>标题B</dt>时,选择到<dd>11</dd><dd>22</dd><dd>33</dd>

解决方案 »

  1.   

    $("dt").click(function(){
    $(this).children("dd")...
    });
      

  2.   


    $("dt").each(function(){
        var dds = $(this).children();
        for(var i = 0;i < dds.length;i++){
            alert("我是第" + i + "个DD:" + dds[i]);
        }
    });
      

  3.   


    $("dt").each(function(){
        $(this).click = function(){
            var dds = $(this).children();
            for(var i = 0;i < dds.length;i++){
                alert("我是第" + i + "个DD:" + dds[i]);
            }
        };
    });上面忘了点儿代码,这样就可以了
      

  4.   

    @tonyzzp:DT和DD在逻辑上是父子关系,但在代码上看起来还是兄弟关系。@ymmc001:你的代码还是找children,但dd不是dt的children。
      

  5.   

    我暂时用了一个愚蠢的办法,
    $(this).next("dd").操作.next("dd").操作.next("dd").操作.next("dd").操作.next("dd").操作.next("dd").操作;
    别笑我,重复了10次,因为每个DT后面的DD我尽量控制在10个以内。呵呵~本来我想这样,用一个while来判断后面那个元素是不是DD,但是我不会判断后面那个元素是什么,我太笨了。
      

  6.   

    $("dl dt").eq(0).jQuerynextUntil("dt") 选中 <dd>1</dd><dd>2</dd>
    $("dl dt").eq(1).jQuerynextUntil("dt") 选中<dd>11</dd><dd>22</dd><dd>33</dd>
      

  7.   

    $("dl dt").eq(0).nextUntil("dt") 选中 <dd>1</dd><dd>2</dd>
    $("dl dt").eq(1).nextUntil("dt") 选中<dd>11</dd><dd>22</dd><dd>33</dd>上面的打错了
      

  8.   

    不愧是犀利哥,好一个nextUntil !