我有一个简单的脚本,只能使用一次。如果我单击表格行内的任意位置,我的脚本将检查一个复选框。但是,如果我在行内点击第二,第三等时间,那么它不再工作。为什么?我现在正在使用jQuery 1.9.1。我的脚本以前工作时,我使用jQuery 1.8与live()
而不是on()
。为什么jquery的on()只能工作一次?
HTML:
<tr class="row">
<td><input type="checkbox"></td>
</tr>
的jQuery:
$(document).ready(function(){
$("body").on("click",".row",function(){
var loc = $(this).find('input');
var ischecked = loc.attr("checked");
if(ischecked) {
loc.attr("checked", false);
} else {
loc.attr("checked", true);
}
});
});
我想你应该使用'loc.prop(“checked”)',而不是'.attr()'。 – Barmar 2013-04-04 04:00:57
将“checked”attr设置为true或false与选中或未选中的复选框无关。只要属性在那里,它就会被检查。 – Antony 2013-04-04 04:01:36
您应该添加和删除该属性,而不是将其设置为true或orfalse。 – box86rowh 2013-04-04 04:02:25