-3

我正在尝试获取最近的相邻元素。这两个按钮彼此相邻,我想单击按钮 A 获取按钮 B 并单击按钮 B 获取按钮 A。所以基本上它只是检测最近的相邻按钮。

<button></button>
<button></button>

我试过这个:

$(this).closest('button').text("ok");

当单击按钮 A 时,它会选择自己!显然,最接近按钮 A....的是按钮 A。不知道为什么它会这样工作。好像离我最近的人……就是我。

编辑:这两个按钮的代码相同,因此 next 和 prev 不会那么方便。我假设最近的元素有一个选择器。

4

1 回答 1

1

您可以使用.prev("button")and.next("button")来选择上一个和下一个兄弟姐妹。并选择兄弟姐妹之前.prevAll('button').nextAll("button")之后的所有内容。

var counter = 0
$("button").click(function(){
    var closest_ones = $(this).prev("button").add($(this).next("button"));
    closest_ones.text(++counter);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button>&nbsp;</button>
<button>&nbsp;</button>
<button>&nbsp;</button>
<button>&nbsp;</button>
<button>&nbsp;</button>
<button>&nbsp;</button>

于 2019-03-28T17:21:47.983 回答