代码之家  ›  专栏  ›  技术社区  ›  shin

如何通过单击jquery链接来切换隐藏的ul

  •  0
  • shin  · 技术社区  · 15 年前

    下面是用php动态创建的代码。

    我想做的是当我用dec76的href单击class='toggle'时,我想用id desc76显示ul。

    我还想将arrowdown16.png更改为arrowup16.png。

    类,secondul有CSS显示:隐藏;。

    我试过了,但没用。

     $(".toggle").click(function () {
        event.preventDefault();
        var id = "#"+$(this).attr('href')
         $("id").show("slow");
        });
    

    HTML格式:

    <ul>
    ...
    ...
    <li class='toggledetail'>
    Show Details
    <div>
    <a href='desc76' class='toggle' >
    <img src="http://blablabla.com/assets/icons/arrowdown16.png"  alt="arrowdown16"  title="Show Details" /></a>
    </div>
    </li>
    </ul>
    
    <ul class='secondul' id='desc76'>
    <li class='listdetail'>Spec Details<div>0</div>
    </li>
    </ul>
    <li class='toggledetail'>
    Show Details<div>
    <a href='desc75' class='toggle' >
    <img src="blablabla.com/assets/icons/arrowdown16.png"  alt="arrowdown16"  title="Show Details" /></a>
    </div>
    </li>
    </ul>
    <ul class='secondul' id='desc75'>
    <li class='listdetail'>Spec Details<div>0</div>
    </li>
    </ul>
    
    ... Here comes more ul
    ...
    
    1 回复  |  直到 8 年前
        1
  •  1
  •   Sarfraz    15 年前

    $(".toggle").live('click', function () {
        event.preventDefault();
        var id = "#"+$(this).attr('href');
        // change image of the next element
        $(this).next('img').attr('src', 'path here');
        $("id").show("slow");
    });
    

    注意:如果要通过单击同一个元素来显示/隐藏元素,则需要使用 slideToggle 而不是 show . 或者你可以用 animate 方法 opacity:'toggle' 用于渐变切换效果。

    你需要使用 live()

    $(".toggle").live('click', function () {
        event.preventDefault();
        var id = "#"+$(this).attr('href');
        $("id").show("slow");
    });