jquery跳转到下一个元素

我正在尝试使用jquery next函数来单击链接以导航到无序列表中的下一个元素。 我有什么在下面,但我得到一个404说它找不到[object Object]

$('.next').click(function (event) { window.location = $('li').next(); }); 

  

如果您完全按原样发布了代码,则会出现很多语法错误。 固定版本如下:

 $('.next').click(function (event) { // missing $/jQuery window.location = $('li').next(); }); // missing the close parentheses 

另外,既然你正在使用jQuery,你可能会考虑使用类似的东西:

 // where selector is the selector for the element you are scrolling to $(window).scrollTop(selector.position().top); 

编辑

如果它是水平的,您只需要相应地调整滚动代码。 例如:

 $(window).scrollLeft(selector.position().left); 

编辑#2

这是我认为你想要实现的一个非常基本的例子:

http://jsfiddle.net/FsjkM/

单击HTML部分,它将滚动到下一个列表元素(请注意更改的数字)。

在您的实际应用程序中,您需要跟踪或计算“当前”元素以允许上一个/下一个function。

最终编辑

http://jsfiddle.net/FsjkM/1/

我已经充实了它,让你了解一个更完整的结构将如何看待。 请注意,不存在边界检查 – 如果您在开始时单击“上一步”,或者在结束时单击“下一步”,则会中断。

您的代码有几个问题。

  1. $(’li’)将返回所有’li’元素,所以$(’li’)。next()将返回一个数组。 您需要选择器来指示当前选择。

  2. next()将返回一个元素,它不一定是内部的html。 你可能想使用next()。html()我认为这是你的意图。 但这并不意味着它会起作用。 接下来继续阅读。 🙂

  3. window.location接受url字符串(例如,“http://www.google.com”),而不是html链接(例如, Google

希望能帮助到你