Javascript Greasemonkey脚本在单击几下后停止设置复选框?
我使用一个网站,它有很多复选框来启用/禁用不同的选项。但是有一个缺点:要选中复选框,您需要单击复选框,但我希望能够单击标签,因为这样更容易。所以我决定写一个Greasemonkey脚本来添加这个功能 我启用了这个脚本,然后我访问了这个网页。首先我点击这个选项,复选框选中!然后我再次单击,它将取消选中。但进一步的点击并没有任何作用。这适用于网页上的所有选项,它适用于前两次点击,但随后停止工作。如何修复脚本以使其永久工作Javascript Greasemonkey脚本在单击几下后停止设置复选框?,javascript,jquery,firefox,checkbox,greasemonkey,Javascript,Jquery,Firefox,Checkbox,Greasemonkey,我使用一个网站,它有很多复选框来启用/禁用不同的选项。但是有一个缺点:要选中复选框,您需要单击复选框,但我希望能够单击标签,因为这样更容易。所以我决定写一个Greasemonkey脚本来添加这个功能 我启用了这个脚本,然后我访问了这个网页。首先我点击这个选项,复选框选中!然后我再次单击,它将取消选中。但进一步的点击并没有任何作用。这适用于网页上的所有选项,它适用于前两次点击,但随后停止工作。如何修复脚本以使其永久工作 我在Ubuntu12.10上使用Firefox19.0.2,而不是JS 这里
我在Ubuntu12.10上使用Firefox19.0.2,而不是JS 这里是纯html您不能像这样切换选中的
属性的值。该属性与选中的属性/状态不同
在jQuery中执行此操作的正确方法是使用.prop()
,如下所示:
$("div.option").click ( function () {
var $checkbox = $(this).children ("input");
var isChecked = $checkbox.is (":checked");
$checkbox.prop ("checked", !isChecked);
} );
我不明白为什么它会停止工作。可能会动态添加新的复选框?试试$(document)。在(“click”,“div.option”,function(){…})
上,这会产生相同的效果。我不拥有该网站,所以我无法更改其html代码(我可以用Greasemonkey来做,但这比我想做的要困难得多)
$("div.option").click ( function () {
var $checkbox = $(this).children ("input");
var isChecked = $checkbox.is (":checked");
$checkbox.prop ("checked", !isChecked);
} );