Cảm ơn Kip, đối với những người có thể tìm kiếm để đạt được cùng sử dụng $ (this) trong khi lặp lại hoặc liên kết trong một hàm:
$("label[for="+$(this).attr("id")+"]").addClass("orienSel");
Tôi nhìn trong chốc lát khi làm việc dự án này nhưng không thể tìm một ví dụ tốt vì vậy tôi hy vọng điều này sẽ giúp những người khác có thể tìm cách giải quyết cùng một vấn đề.
Trong ví dụ trên, mục tiêu của tôi là ẩn đầu vào radio và tạo kiểu cho nhãn để cung cấp trải nghiệm người dùng slicker (thay đổi hướng của sơ đồ).
Bạn có thể see an example here
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 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 xen kẽ với bản gốc câu hỏi, với nhãn sau đầu vào, bạn có thể đi với một giải pháp css tinh khiết và tránh sử dụng JavaScript hoàn toàn ...:
input[type=checkbox]:checked+label {}
Nguồn
2017-03-05 09:50:24
Đối với trình duyệt Webkit (Safari/Chrome), bạn có thể thực hiện '$ ('# comedyclubs') [0] .labels' để truy cập tất cả các nhãn được gán cho' # comedyclubs'. – Matt
Sử dụng .text() để chuyển đối tượng thành chuỗi: alert ($ ("label [for = 'comedyclubs']"). Text()); – Loren
chỉ cần sử dụng $ ("label [for = 'comedyclubs']") sẽ cho bạn giá trị nhưng nó sẽ làm cho nhãn trống. vì vậy, hãy sử dụng $ ("label [for = 'comedyclubs']"). text() – shahil