Câu trả lời:
Điều này sẽ làm việc:
$("label[for='comedyclubs']")
Xem thêm: Bộ chọn / propertyEquals - Thư viện JavaScript của jQuery
$("label[for='"+$(this).attr("id")+"']");
Điều này sẽ cho phép bạn chọn nhãn cho tất cả các trường trong một vòng lặp. Tất cả những gì bạn cần đảm bảo là nhãn của bạn sẽ cho biết for='FIELD'
đâu FIELD
là id của trường mà nhãn này được xác định.
Điều này nên làm điều đó:
$("label[for=comedyclubs]")
Nếu bạn có các ký tự không phải là chữ và số trong id thì bạn phải bao quanh giá trị attr bằng dấu ngoặc kép:
$("label[for='comedy-clubs']")
Một giải pháp khác có thể là:
$("#comedyclubs").next()
$("#comedyclubs").nextAll().first()
Cảm ơn Kip, cho những người có thể đang tìm cách đạt được điều tương tự bằng cách sử dụng $ (cái này) trong khi lặp hoặc liên kết trong một hàm:
$("label[for="+$(this).attr("id")+"]").addClass( "orienSel" );
Tôi đã tìm kiếm một lúc trong khi thực hiện dự án này nhưng không thể tìm thấy một ví dụ hay vì vậy tôi hy vọng điều này sẽ giúp những người khác có thể đang tìm cách giải quyết vấn đề tương tự.
Trong ví dụ trên, mục tiêu của tôi là ẩn các đầu vào radio và định kiểu nhãn để cung cấp trải nghiệm người dùng mượt mà (thay đổi hướng của sơ đồ).
Bạn có thể xem một ví dụ ở đây
Nếu bạn thích ví dụ, đây là css:
.orientation { position: absolute; top: -9999px; left: -9999px;}
.orienlabel{background:#1a97d4 url('http://www.ifreight.solutions/process.html/images/icons/flowChart.png') no-repeat 2px 5px; background-size: 40px auto;color:#fff; width:50px;height:50px;display:inline-block; border-radius:50%;color:transparent;cursor:pointer;}
.orR{ background-position: 9px -57px;}
.orT{ background-position: 2px -120px;}
.orB{ background-position: 6px -177px;}
.orienSel {background-color:#323232;}
và phần có liên quan của JavaScript:
function changeHandler() {
$(".orienSel").removeClass( "orienSel" );
if(this.checked) {
$("label[for="+$(this).attr("id")+"]").addClass( "orienSel" );
}
};
Một gốc thay thế cho câu hỏi ban đầu, được gắn nhãn theo đầu vào, bạn có thể đi với một giải pháp css thuần túy và tránh sử dụng JavaScript hoàn toàn ...:
input[type=checkbox]:checked+label {}
$('#comedyclubs')[0].labels
để truy cập tất cả các nhãn được gán#comedyclubs
.