JQuery不选择和更改复选框的状态

Nem*_*jaT 0 html javascript jquery parent-child

这是html:

<div class="btn btn-stock-report" id="superman">
    Superman <input type="checkbox" name="superman" />
</div>
Run Code Online (Sandbox Code Playgroud)

这是JQuery:

$('#superman').on('click', function () {
    if ($(this).children('input:checkbox:first').is(':checked')) {
        superman = true;
        $(this).children('input:checkbox:first').removeAttr('checked');
    }
    else {
        superman = false;
        $(this).children('input:checkbox:first').attr('checked', 'checked');
    }
    console.log("superman: " + superman);
});
Run Code Online (Sandbox Code Playgroud)

我正在尝试实现它只是更改子复选框的状态并更改superman变量的值,但由于某种原因,它总是superman: false在控制台日志中打印出来.即使我手动选中复选框并单击div,即使现在选中了复选框,它也会报告superman: false

可能是什么导致了这个?

jes*_*vin 5

可以更改<div>to <label>并删除所有jQuery代码,它只会工作.