如何切换隐藏的UL通过点击链接与jQuery

如何切换隐藏的UL通过点击链接与jQuery

问题描述:

我有以下代码动态创建的PHP。如何切换隐藏的UL通过点击链接与jQuery

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

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

然后当我点击它时,ul会淡出或再次隐藏。

class,secondul has CSS display:hidden ;.

我试过这个,但它不起作用。

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

在此先感谢您的帮助。

<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 
... 

更新了图片:如果你想显示/隐藏与点击的元素相同的元素

$(".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"); 
}); 
+0

感谢。我刚刚更新了我的帖子。我实际上想要切换显示并隐藏和更改图像。谢谢你的帮助。 – shin 2010-10-06 10:45:13

+0

我不认为他意味着像AJAX那样的动态。他只是表示内容是用PHP制作的。不是一个静态的HTML页面。活不会帮助。 – Stefanvds 2010-10-06 10:46:12

+0

+1勇于尝试解决问题的可行解决方案=) – 2010-10-06 10:47:30