2011-09-03 95 views
0

我使用下面的jQuery代码崩溃列出了从左至右依次为:(在http://jsfiddle.net/uvYDN/见演示)顺序切换嵌套列表?

$('ul').hide() 
$('li').contents() 
    .filter(function() {return this.nodeType === 3}) 
    .wrap('<a>'); 

$('a').click(function() { 
$(this).next('ul').toggle() 
}) 

我想保持这些基本功能,但接下来的嵌套层次不应该的项目” t一次出现,但是从上到下依次逐个出现,例如在另一次鼠标点击或键盘输入之后。所以在上面的演示中,点击“Item 2”只会显示“Item 4”,而“Item 5”只会在另一个输入之后添加。

我刚刚进入编程,所以任何建议将对我非常有用!

回答

2

以下是顺序显示儿童项目http://jsfiddle.net/uvYDN/13/ - 第2项的方法。如果您还需要将其隐藏起来,请在所有儿童显示后使用相同的逻辑进行切换。

忘记所有数组的东西它太复杂了,我试了一会儿,然后意识到有一个更简单的方法。 Here是我的解决方案的工作小提琴。你可以自己整理它,或者比我更好的人可以优化它。但它仍然有效。

哦,是的,pimvdb的建议是伟大的。

+0

感谢您的回答,那很棒!是的,我需要把他们藏起来。你能否用“使用相同的逻辑”来解释你的意思?这真的很棒,帮助我很多。 – Elip

+1

@TigOldBitties:'$($(...)。get(0))'可以简化为'$(...)。eq(0)'。 – pimvdb

+0

@BigOldBitties:感谢您的澄清。看起来我需要阅读数组然后。我试过这样简单:“if(e.keyCode === 37){if(0>)i--; $(”li“).eq(i).hide(); } 但是它似乎没有工作。 – Elip