gpt4 book ai didi

jquery - 使用 jQuery 查找最近的 sibling

转载 作者:行者123 更新时间:2023-12-01 01:22:51 25 4
gpt4 key购买 nike

给定以下 DOM

<ul>
<li data-id="1">
<li data-id="2">
<li data-id="3">
<li data-id="1">
</ul>

我们需要找到最接近的<li> - 具有 data-id="1" 的元素到 data-id="3"

的那个

我们尝试过:

$('[data-id=3]').siblings('[data-id=1]').first()

这当然会返回 DOM 中的第一个,而不是最近的

我们也尝试过:

$('[data-id=3]').closest('[data-id=1]')

这不起作用,因为它只是返回祖先。

感谢您的任何提示。

最佳答案

使用nextUntil()prevUntil()您可以计算哪个方向有最近同级,然后确定是否使用next()prev()

var nextLength = $('[data-id="3"]').nextUntil('[data-id="1"]').length;
var prevLength = $('[data-id="3"]').prevUntil('[data-id="1"]').length;
var closestSibling;
if (nextLength > prevLength) {
closestSibling = $('[data-id="3"]').prev('[data-id="1"]');
} else {
closestSibling = $('[data-id="3"]').next('[data-id="1"]');
}
console.log(closestSibling.text());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<ul>
<li data-id="1">second closest</li>
<li data-id="2"></li>
<li data-id="3"></li>
<li data-id="1">first closest</li>
</ul>

关于jquery - 使用 jQuery 查找最近的 sibling ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31202135/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com