2012-09-08 21 views
0

我试图隐藏我的divs,当它们完成时将会有内容。我有一个jsFiddle文件,一些编码不完整,只是写得非常快,给你一个想法。从ul破坏jQuery显示/隐藏功能

http://jsfiddle.net/vCZC7/

我相信,UL是使其无法正确创建。

+0

你的问题是关于jQuery,但在[你的jsFiddle](http://jsfiddle.net/vCZC7/)中使用的是Mootools 1.4.5。这可能至少是其中一个不正常工作的原因;) – Tadeck

+0

jsfiddle正确显示你现在拥有的是这个,我想:http://jsfiddle.net/vCZC7/2/ – Tadeck

+0

是的,对不起,我没有知道你必须选择其中的一个......我不知道Mootools 1.4.5是如何实现的。我只是在学习jQuery –

回答

0

您小提琴中的html无效:您不应该将相同的id属性分配给多个元素。如果您尝试执行类似$("#slidingDiv").hide();的操作,则只会选择第一个(在大多数浏览器中)具有该ID的元素以隐藏。

此外,您正在使用".show_hide"类选择器,但没有您的元素具有该类。

在您的点击处理程序中,您表示$(this).next("#slidingDiv").slideToggle();,但.next()方法不会查找具有提供的id的下一个元素,如果该元素具有提供的id,它只会选择紧随其后的元素。

此外,您还错误地使用了jsfiddle:在JavaScript窗口中,您应该放置JavaScript代码,而不是<script>标签。您应该删除<script>标签,而是从左侧面板中选择所需的库,如下所示:http://jsfiddle.net/vCZC7/1/(您的小提琴在左侧选择了默认的Mootools库)。

我发现您对所需行为的解释有点缺点,但这里是一个工作的小提琴,点击李元素切换下面的div:http://jsfiddle.net/vCZC7/3/(注意:我更新它使用最新的jQuery,因为最简单的东西似乎是使用版本1.4中引入的.index()方法语法,只包括1.3.2)。

+0

好的答案。 OP需要使用适当的库和适当的实际脚本包装来发布jsfiddle(在左边你可以选择“在Dom Ready”上,所以你不需要自己包装它)。 – Tadeck

+0

谢谢@Tadeck。我知道jsfiddle提供的on就绪选项,但是提问的人在其代码中明确包含'$(document).ready(')的情况下,我通常会在我自己的小提琴中执行相同的操作并使用“无包装”选项 - 否则不可避免地我得到一个评论,说_my_代码不起作用,因为它被从小提琴中复制出来,并没有一个准备好的处理程序使用... – nnnnnn

+0

是啊我不知道小提琴的一切,那是我的坏家伙所以nnnn the (“selector”)。click(function()这是什么处理什么点击?是啊,我知道脚本可能会搞砸了,我复制并粘贴它,所以我可以快速显示我想要的。打开了吗?“ –