如何从祖先中获得 JQuery 的下一步

     2023-02-25     81

关键词:

【中文标题】如何从祖先中获得 JQuery 的下一步【英文标题】:How to get next with JQuery out of ancestor 【发布时间】:2012-05-10 14:04:35 【问题描述】:

我想要当前“a”的下一个“a”元素。当电流为 2,3,4 时,我用 $('a.current').nextAll('a') 捕获 3,4,5 但当电流为 5 时,我无法捕获下一个 'a'。 如果有人有解决方案...

<div id="slides">
    <ul>
     <li>
        <a href="" class='current'>2</a>
        <a href="" >3</a>
        <a href="" >4</a>
        <a href="" >5</a>
     </li>
      <li>
        <a href="" >6</a>
        <a href="" >7</a>
        <a href="" >8</a>
        <a href="" >9</a>
     </li>
    </ul>
</div>

【问题讨论】:

你使用的是.nextAll,所以你想要.current之后的所有a元素,对吧? 是的,我只想要第一个 感谢所有这些回复,我不知道哪个是计算最好的 【参考方案1】:
var curr = $('a.current'),            // get the current
    a = curr.closest('ul').find('a'), // get all the "a" elements
    idx = a.index(curr),              // get the index of the current among all
    nextall = a.slice(idx + 1);       // slice those greater than the current

现场演示: http://jsfiddle.net/eaXdc/


如果你只想要下一个,改变这个:

a.slice(idx + 1);

到这里:

a.eq(idx + 1);

【讨论】:

【参考方案2】:

试试这个:

var $curr = $('a.current'),
    $next = $curr.next('a');

$next.length || ($next = $curr.parent().next().find('a:first'));

此外,您当前正在使用nextAll,这将返回所有以下a 元素,而您似乎只需要a 之后的第一个元素。

【讨论】:

【参考方案3】:
var next = $(this).index() < $(this).parent().children('a').length-1 ? 
           $(this).next() : 
           $(this).parent().next('li').children('a:first');

FIDDLE

【讨论】:

【参考方案4】:

因为.nextAll() 只返回匹配元素的兄弟姐妹

6,7,8,9 不是 5 的兄弟,因为它们在不同的parent(li)

你需要那些你必须使用 jQuery 遍历 DOM 来获取那些 a 元素。

【讨论】:

【参考方案5】:

如果你能够知道你在最后(没有结果),那么你应该能够跳到下一个li 并抓住所有后续的锚元素。

Here's how I approached it。我给了第五个锚元素一个 id 来表明它是我的current。当您的 current 目标没有 .nextAll() 子代(.size() 为 0)时,您可以执行以下操作以查找后续锚元素。

$("#5").parent().next("li").find("a").css("color","grey");​

颜色变化是为了帮助指示找到了哪些元素。看起来您有很多选择!

更新:如果您只想要第一个,您可以使用:first 指定捕获它,例如update。

$("#5").parent().next("li").find("a:first")

【讨论】:

Ninja 表单:多部分表单 - 字段单击的下一步 (jQuery)

】Ninja表单:多部分表单-字段单击的下一步(jQuery)【英文标题】:NinjaForms:MultiPartForms-NextStepOnFieldClick(jQuery)【发布时间】:2019-02-0309:52:44【问题描述】:我在使用NinjaForms+MultiStep表单插件实现jQuery点击事件时遇到了麻烦。目标是... 查看详情

java示例代码_如何获得java日历中的下一天和前一天

java示例代码_如何获得java日历中的下一天和前一天 查看详情

从 appengine 迁移到完整 django 的下一步是啥?

】从appengine迁移到完整django的下一步是啥?【英文标题】:What\'sthenextstepsformovingfromappenginetofulldjango?从appengine迁移到完整django的下一步是什么?【发布时间】:2011-06-0517:19:46【问题描述】:我是编程新手,我一直在使用appengine来... 查看详情

如何组合两个结果并将其传递到 apache-beam 管道中的下一步

】如何组合两个结果并将其传递到apache-beam管道中的下一步【英文标题】:Howtocombinetworesultsandpipeittonextstepinapache-beampipeline【发布时间】:2020-11-1222:35:09【问题描述】:见下面代码sn-p,我希望["metric1","metric2"]成为... 查看详情

RestKit 中 RKManagedObject 的下一步是啥

】RestKit中RKManagedObject的下一步是啥【英文标题】:what\'sthenextofRKManagedObjectinRestKitRestKit中RKManagedObject的下一步是什么【发布时间】:2015-09-1914:41:32【问题描述】:刚看了github上的tutorial,发现了一些关于CoreData的对象方法,比如fe... 查看详情

如何使用javascript记录链接点击,然后自动点击Qualtrics中的下一步按钮?

】如何使用javascript记录链接点击,然后自动点击Qualtrics中的下一步按钮?【英文标题】:HowtorecordalinkclickandthenautomaticallyclicknextbuttoninQualtricswithjavascript?【发布时间】:2021-09-2201:11:02【问题描述】:我正在Qualtrics进行一项调查。... 查看详情

如何保证在开始IntegrationFlow 的下一步之前完成该工作?

】如何保证在开始IntegrationFlow的下一步之前完成该工作?【英文标题】:HowtoguaranteethatjobisfinishedbeforestartingthenextstepofIntegrationFlow?【发布时间】:2020-01-0904:03:18【问题描述】:我有以下流声明:returnflow->flow.handle(myHandler).handle(s... 查看详情

如何获取在jquery中可见的下一个元素

】如何获取在jquery中可见的下一个元素【英文标题】:howtogetnextelementthatisvisibleinjquery【发布时间】:2015-07-2316:08:34【问题描述】:我有一些元素以及每个元素中的上一个和下一个链接。好像我单击下一步我只想将一个类添加到... 查看详情

查找此异常原因的下一步是啥?

】查找此异常原因的下一步是啥?【英文标题】:Whataremynextstepsonfindingthecauseofthisexception?查找此异常原因的下一步是什么?【发布时间】:2015-08-3108:18:54【问题描述】:我对Eclipse、Java和Android编程相当陌生。我已经接管了一个And... 查看详情

从docker到containerd:容器运行时的下一步

在Kubernetes宣布弃用对Docker的集成支持后,如何选择一款合适的容器产品进行替代,也成为了一个热门话题。在众多备选产品中,containerd无疑是其中最受欢迎的方案之一。如果你对containerd还不熟悉,那么本文将带你揭开它的神秘... 查看详情

调用`async for in`后如何获得异步生成器的下一次迭代

】调用`asyncforin`后如何获得异步生成器的下一次迭代【英文标题】:Howtogetnextitererationofasyncgeneratoraftercalling`asyncforin`【发布时间】:2020-07-1721:40:37【问题描述】:使用FastAPI,我试图检测StreamingResponse是否已完全被客户端使用,或... 查看详情

c# windows form,部署前的下一步是啥?

】c#windowsform,部署前的下一步是啥?【英文标题】:c#windowsform,Whatisnextstepbeforedeployment?c#windowsform,部署前的下一步是什么?【发布时间】:2020-08-1416:21:55【问题描述】:刚刚在sql管理Studio中使用数据库完成了我的诊所Winforms程... 查看详情

使用 cx_Freeze 的下一步是啥?

】使用cx_Freeze的下一步是啥?【英文标题】:Whatismynextstepusingcx_Freeze?使用cx_Freeze的下一步是什么?【发布时间】:2012-06-1912:34:54【问题描述】:好的,我安装了python3.2并安装了cx_Freeexe4.2.3。我有一个名为Pythonstuff的文件夹。在这... 查看详情

Ruby 中的下一步是啥?

】Ruby中的下一步是啥?【英文标题】:WhatisinvalidnextinRuby?Ruby中的下一步是什么?【发布时间】:2013-11-0212:33:27【问题描述】:以下代码有效:collection.eachdo|i|beginnextifi>10i+=1rescueputs"couldnotprocess#i"endend但是,当我们重构时:colle... 查看详情

使用分析函数的下一步操作

】使用分析函数的下一步操作【英文标题】:Nextactionusinganalyticfunctions【发布时间】:2013-04-3013:20:38【问题描述】:为了进行同期群分析,我正在尝试获取每个客户的下一步操作(取消订阅、升级、降级...)我有一个包含以下数... 查看详情

找到能立刻开始的下一步行动|进击

...出来的行动序列,第一个要做的行动,就是我们这里所说的下一步行动。当你完成了任务到行动的拆分,每个任务就都对 查看详情

使用 PageViewController 上的下一步按钮

】使用PageViewController上的下一步按钮【英文标题】:UsingnextbuttononPageViewController【发布时间】:2019-05-1913:47:01【问题描述】:我有一个pageViewcontroller,它运行良好,我可以左右滚动,但现在我希望能够在下一页旁边添加按钮和使... 查看详情

scrapy python (json) 的下一页问题

...sa3,但在def中仅传递“sa3”(最后一个),而next_pages仅获得“sa3”。这是我的代码:ClassOnthemarketS 查看详情