问题:标签不是所单击复选框的同级,因此您不会使用来找到它siblings
。该标签实际上是作为复选框父级的标签的同级标签。
解决方案:使用其他选择器查找标签,因此它们的相对位置不再重要。使用,label[for="xyz"]
您可以确切地找到绑定到复选框xyz的标签,而不管其在文档中的位置如何。这也使您的代码更加灵活,因为如果您重新组织DOM,它不会立即中断。
var $myLabel = $('label[for="' + this.id + '"]'); $myLabel.html( $(this).is(':checked') ? 'checked' : ' not checked');
var $myLabel = $('label[for="' + this.id + '"]'); $myLabel.html( $(this).is(':checked') ? 'checked' : ' not checked');
$(document).ready(function() {
$('#front_set').click(function() {
var $myLabel = $('label[for="' + this.id + '"]');
$myLabel.html( $(this).is(':checked') ? 'checked' : ' not checked');
});
});