jQuery获取最近的相邻元素

时间:2019-03-28 17:18:29

标签: jquery

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

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

我尝试过:

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

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

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

1 个答案:

答案 0 :(得分:1)

您可以使用.prev("button").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>