【发布时间】:2011-05-16 10:04:31
【问题描述】:
我正在尝试使用 jQuery 在复选框的单击事件上将一个类添加到复选框的标签中。在 ajax 调用中检索复选框的 HTML 后,我正在调用以下函数。
function modDispTable() {
$("#disptbl :input").each(function () {
$(this).click(function () {
var lblid = $(this).attr("id") + "_lbl";
if ($(this).is(":checked")) {
$(lblid).addClass('chksel');
}
else {
$(lblid).removeClass('chksel');
}
});
});
}
还有更多的复选框,但所有复选框的 HTML 看起来都类似于:
<label id="chk_sobomnifeat_lbl" name="chk_sobomnifeat_lbl" for="chk_sobomnifeat" class="radiolbl chkmod chkmod1">
<input id="chk_sobomnifeat" name="chk_sobomnifeat" value="chk" type="checkbox">
Sobella Omni Feature Display
</label>
现在,我要做的就是应用不同的背景颜色。 CSS 位于页面随附的文件中。
.chksel {
background-color: #D3CEBE;
}
我没有收到任何错误。当点击事件被触发时,在 Firebug 中进行调试让我更加困惑,lblid 包含正确的 id 值(标签),并且应该执行了 addClass 行。
有没有人知道为什么该课程不适用?我正在使用 JQuery 1.4.4。
【问题讨论】: