2012-04-25 46 views
0

我有多个链接显示在同一页面显示我用这个相关内容,jQuery的隐藏显示使用索引

$("#option .link").click(function(){ 
    Options=$("#option .link").index(this); 
    $("#content").hide(); 
    $("#content:eq("+Options+")").show(); 
}) 

但这不工作

回答

-1

您使用#content ID为元素,但你应该在一个页面只使用一个ID,所以你应该改变所有#content ID类.content

$("#option .link").click(function(){ 
    Options=$("#option .link").index(this); 
    $(".content").hide(); 
    $(".content:eq("+Options+")").show(); 
}); 

做出这个改变并尝试...

+0

这是什么地狱......为什么-1这个职位 – Dhamu 2012-04-26 07:03:02

+0

要小心;你正在使'选项'是一个隐含的全局*,这是不好的*。 'var options = $(“#option .link”)。index(this);'会更好,'var options = $(“#option .link”)。index(this);'even * even *更好(建设者的预留大写字母)。 – Matt 2012-04-26 13:26:17

3

目前唯一能够有id等于元素content,因为ID是唯一的。您可能需要像.link那样切换到课程。

另一方面,代码中的Index是一个全局变量。 Globals是要避免的,并且真的不需要一个,因此请使用var Index

1

你的想法是对的..但你不应该使用类似的ID为一个以上的元素。这里,U使用#内容(似乎)超过一个元素..

带班试试..

$("#option .link").click(function(){ 
    Options=$("#option .link").index(this); 
    $(".content").hide(); 
    $(".content:eq("+Options+")").show(); 
})