如何选择下一个匹配元素?

Dav*_*ave 10 javascript jquery

这有效:

<a href="#/link1">link1</a>
<a href="#/link2">link2</a>
<a href="#/link3">link3</a>

$("a[href*='#/link1'").next('a[href*="#"]').click();
Run Code Online (Sandbox Code Playgroud)

但这不是:

<a href="#/link1">link1</a><br>
<a href="#/link2">link2</a><br>
<a href="#/link3">link3</a><br>

$("a[href*='#/link1'").next('a[href*="#"]').click();
Run Code Online (Sandbox Code Playgroud)

以上测试"<br>"标签,而不是下一个匹配的链接.

我将如何在两种情况下使其工作.我想选择下一个匹配元素,如果匹配则不是下一个元素.也许.next()不是正确的方法?

Fel*_*ing 18

第二个例子不应该选择任何东西.阅读以下文档next:

获取匹配元素集中每个元素的紧随其后的兄弟.如果提供了选择器,则仅当它与该选择器匹配时,它才会检索下一个兄弟.

您必须使用nextAll以获取所有兄弟姐妹并相应地过滤它们:

$("a[href*='#/link1']").nextAll('a[href*="#"]:first').click();
Run Code Online (Sandbox Code Playgroud)

参考:nextAll


Nic*_*ver 5

使用.nextAll():first得到匹配,而不是一个同级的下一个兄弟,如果它匹配,就像这样:

$("a[href*='#/link1'").nextAll('a[href*="#"]:first').click();
Run Code Online (Sandbox Code Playgroud)