jquery跳转到下一个元素

jquery跳转到下一个元素,jquery,jquery-selectors,Jquery,Jquery Selectors,我正在尝试使用jquerynext函数单击链接以导航到无序列表中的下一个元素。下面是我得到的,但我得到一个404,说它找不到[object] $('.next').click(function (event) { window.location = $('li').next(); }); 及 如果您完全按照原样发布代码,则会出现大量语法错误。固定版本如下: $('.next').click(function (event) { // missing $/jQuery windo

我正在尝试使用jquerynext函数单击链接以导航到无序列表中的下一个元素。下面是我得到的,但我得到一个404,说它找不到[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); 
编辑

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

$(window).scrollLeft(selector.position().left); 
编辑#2

下面是一个非常基本的例子,我认为您正在努力实现:

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

在您的实际应用程序中,您需要跟踪或计算“当前”元素,以便实现上一个/下一个功能

最终编辑


我把它充实了一点,让你知道一个更完整的结构会是什么样子。请注意,不存在边界检查——如果您在开始时单击“上一步”,或在结束时单击“下一步”,边界检查将中断。

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

$('.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); 
编辑

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

$(window).scrollLeft(selector.position().left); 
编辑#2

下面是一个非常基本的例子,我认为您正在努力实现:

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

在您的实际应用程序中,您需要跟踪或计算“当前”元素,以便实现上一个/下一个功能

最终编辑


我把它充实了一点,让你知道一个更完整的结构会是什么样子。请注意,不存在边界检查——如果在开始时单击“上一步”,或在结束时单击“下一步”,则边界检查将中断。

您的代码有几个问题

  • $('li')将返回所有的'li'元素,因此$('li')。next()将返回一个数组。您需要选择器来指示当前选择

  • next()将返回一个元素,它不一定是内部html。您可能想使用next().html(),我想这是您的意图。但这并不意味着它会起作用。下一步继续阅读。:-)

  • window.location接受url字符串(例如“http://www.google.com“”,而非html链接(例如。,


  • 希望对您有所帮助

    您的代码有几个问题

  • $('li')将返回所有的'li'元素,因此$('li')。next()将返回一个数组。您需要选择器来指示当前选择

  • next()将返回一个元素,它不一定是内部html。您可能想使用next().html(),我想这是您的意图。但这并不意味着它会起作用。下一步继续阅读。:-)

  • window.location接受url字符串(例如“http://www.google.com“”,而非html链接(例如。,


  • 希望有帮助

    当您说要导航到列表元素时,您的意思是什么?会发生什么?你说的“导航到一个元素”是什么意思?
    • 第1项
    • 第2项第3项
    在一个类似的列表中,我想单击我原来帖子中发布的下一个链接,从#item1转到#item2。你说要导航到一个列表元素是什么意思?会发生什么?你说的“导航到元素”是什么意思?
    • 项目1
    • 项目2项目3
        在类似的列表中,我想单击我在原始帖子中发布的下一个链接,从#项目1转到#项目2。很抱歉我之前没有这么说,但这是一个水平布局。是的,很抱歉被屠杀的jQuery。。这在我的代码中是正确的那么,这是有效的吗?当单击“下一步”时,我似乎无法从中获得任何信息<代码>$(窗口).scrollLeft($('li').position().left)
        @bswinnerton您需要选择一个列表项—您的
        $('li')
        选择器很可能会选择多个列表项。尝试一些基本的方法,如
        li:last
        来测试代码。这很有效!我的问题是,大多数元素都是动态创建的。如何选择列表中的下一个元素?@bswinnerton您需要对当前活动列表项的引用。从那里,您可以使用
        nextAll(“li:first”)
        来选择下一个列表项。很抱歉之前没有这么说,但这是一个水平布局。是的,很抱歉被屠杀的jQuery。。这在我的代码中是正确的那么,这是有效的吗?当单击“下一步”时,我似乎无法从中获得任何信息<代码>$(窗口).scrollLeft($('li').position().left)
    @bswinnerton您需要选择一个列表项—您的
    $('li')
    选择器很可能会选择多个列表项。尝试一些基本的方法,如
    li:last
    来测试代码。这很有效!我的问题是,大多数元素都是动态创建的。如何选择列表中的下一个元素?@bswinnerton您需要对当前活动列表项的引用。从那里,您可以使用
    nextAll(“li:first”)
    选择下一个列表项。