HTML が常にそのように見える場合は、@Adil のメソッドを使用してください。ただし、より動的にする必要がある場合は、.siblings()を使用し、単純に.first()を取得すると、それが「最も近い」ものになります。
たとえば、次のようなものを検討できます。
// The following will grab the closest label to any a tag clicked on
$("a").on("click", function(e) {
var closest = $(this).siblings("label").first();
console.log(closest);
}):
ただし、ラベルの両側にラベルがある場合、それが望ましくなく、以前に最初のラベルが必要な場合 (たとえば、a タグの前に複数のラベルと p タグがある場合)、これは最初のラベルを取得すると思います) 、 .prev()は a タグの前の最初の要素のみを取得するため、.prev ()を超えるものが必要です。その場合、.prevAll()を.first()と組み合わせて使用して、a タグの前に記述された最初のラベルを取得します。
そのような:
$("a").on("click", function(e) {
var closest = $(this).prevAll("label").first();
console.log(closest);
}):
もちろん、逆の場合は . nextAll()を使用できます
$("a").on("click", function(e) {
var closest = $(this).nextAll("label").first();
console.log(closest);
}):