2012-03-07 60 views
1

这是我的HTML:的JQuery的QuickFix:我不知道该怎么称呼它

<ul class="test"> 
    <li><a href="#">One</a> 
    <ul> 
    <li>Content One</li> 
    </ul> 
    </li> 
    <li><a href="#">Two</a> 
    <ul> 
    <li>Content Two</li> 
    </ul> 
    </li> 
    </ul> 

我想隐藏UL.TEST LI UL。当我点击锚点“one”或者当我点击“ul.test li”或“ul.test li a”时,如何在不使用“ul.test li ul”中的CLASS或ID的情况下执行此操作?

我的代码是:

$(function(){ 
    $("ul.test li").click(function(e){ 
    e.preventDefault(); 
    $(this).slideToggle("fast"); 
    }); 
    }); 

我想要做什么:

$(this + "ul").slideToggle("fast"); 

我想隐藏仅ul.test li ul只。

如果?

$("ul.test li a").click(function(e){ 
    $('ul', this).slideToggle("fast"); 
}); 

我怎么会回去ul.test li使用$('ul', this).slideToggle("fast");

+0

你不控制目标HTML,或者是有你不使用的功能选择喜欢的类名或ID的具体原因? – Morgon 2012-03-07 05:41:01

回答

2

试试这个:

$("ul.test li").click(function(e){ 
    $('ul', this).slideToggle("fast"); 
}); 

演示:http://jsfiddle.net/9KAhT/

$("ul.test li a").click(function(e){ 
    $(this).next().slideToggle("fast"); 
}); 
+0

哦废话!非常感谢!!! http://stackoverflow.com/users/415057/codef0rmer :) – 2012-03-07 06:05:28

+0

另一个问题..试图看看我的编辑..请帮我 – 2012-03-07 06:21:08

+0

在这种情况下,你需要使用这个'$(this).next()。 slideToggle(“fast”);'而不是'$('ul',this)...' – codef0rmer 2012-03-07 06:45:59

相关问题