【发布时间】:2021-08-25 15:16:46
【问题描述】:
我知道您可以在 jQuery 中使用 .next() 来获取下一个元素,但我也知道您可以提供一个参数,例如选择器,它会为您提供与给定参数匹配的下一个元素,但在我的情况它不起作用。示例:
HTML:
<div id="divTEST"></div>
<span id="spanTEST"></span>
<a href="google.com">Google</a>
JS:
let div = $("div#divTEST");
console.log(div.next());
console.log(div.next("a"));
现在,问题不在于 div.next(),因为我得到了 'span' 元素,问题在于 div.next("a"),因为它没有给我任何回报。我做错了什么?
【问题讨论】:
-
"它会给你下一个匹配给定参数的元素" 不正确。如果您提供一个选择器,“它仅在匹配该选择器时检索下一个兄弟”。在您的示例中,锚点不是 div 的下一个元素,只有 span 是。考虑为 next 提供一个选择器作为过滤器。在您的示例中,
div.next().next("a")会起作用。更多api.jquery.com/next -
这就是
.next()应该做的。如果你传递了一个选择器,但下一个兄弟不匹配,你什么也得不到。它不搜索兄弟元素链;它只查看紧邻的下一个兄弟。
标签: javascript html jquery selector next