2012-02-11 91 views
0

我在jQuery Slide Toggle中遇到了问题。jQuery Slide切换功能不叫

$(document).ready(function() { 
    $("a").click(function() { 
    $(this).parent().parent().children("p").Toggle(400); 
    return false; 
    }); 
    }); 

我有一堆从数据库中抽取的页面上的帖子,并且它们的结构是这样的(伪HTML)

<div post> 
    <div float-left location/timeInfo></div> 
    <div float-right bandInfo><a>slideToggleLink</a></div> 
    <p>theToggledElement</p> 
</div> 

当我点击链接,jQuery函数不叫,但我看不出有什么问题。

+1

什么是“伪HTML”?假答案会起作用吗? – Sparky 2012-02-11 00:42:40

+0

你认为伪HTML是什么?我不想公布整个事情,所以我用一个伪标记来给出元素结构的要点......因为我相信它是问题的一部分,而现在我们知道它不是。 – Luke 2012-02-11 01:10:36

回答

1

jQuery没有Toggle()方法。

您的意思是slideToggle()

+0

或者只是切换()http://api.jquery.com/toggle/ – ingo 2012-02-11 00:44:58

+1

jQuery确实有'.toggle()'方法。这只是拼写'.Toggle()'。 – Sparky 2012-02-11 00:49:23

+0

他想滑... – elclanrs 2012-02-11 00:49:27

1

你在问关于jQuery的“Slide Toggle”,但是你的代码使用的东西叫做.Toggle(),它不存在拼写。

它应该是.slideToggle()或只是.toggle()(注意:第二个资本T缺乏)。但是,.toggle()没有滑动/动画。

+0

该死的。那是愚蠢的。不管怎么说,还是要谢谢你。 – Luke 2012-02-11 00:50:27

1
$(this).parent().parent().children("p").Toggle(400); 

性能不好和Toggle()不存在。
替换为:

$('#post').find('p').slideToggle(400); 
+0

find(“p”)似乎不起作用... – Luke 2012-02-11 00:53:15

+0

那么,你应该发布你的非伪HTML然后。 – elclanrs 2012-02-11 00:58:43

+0

呃。这是JavaScript ......我并不在乎表现。 – Luke 2012-02-11 01:08:04