我很少<li>
个,每个<li>
都有一个复选框,其值保存在数据库中。在文档加载时,选中了复选框的<li>
,我想添加一个类'。完成'。
我试过了:
if (currentTODO.find('.status').is(":checked")) {
currentTODO.find('.text').addClass("done");
alert('Test.');
}
但它只有在点击功能,mousemove等下使用但在文档加载时才有效。此外,如果我在文档加载下有这段代码,没有其他工作。
我希望有人可以帮助我。
非常感谢
答案 0 :(得分:2)
这样的事情:
$('input[type="checkbox"][checked="checked"]').parent().addClass('done');
修改:这可能更接近您的尝试:
$('li').filter(function() {
return $(this).find('input').is(':checked');
}).addClass('done');
对于任何处理文档加载的问题我都没有问题。
编辑:顺便说一句,与基于jQuery的解决方案一样,您可以在CSS中执行此操作:
input:checked:after {
margin-left: 20px;
content: "Done";
display: block;
}
除非您有兴趣以编程方式执行其他操作,或者由于其他原因需要实际使用该类。
额外修改:这个怎么样? http://jsfiddle.net/EDs3N/12/(顺便说一下,我要回家了。)
答案 1 :(得分:0)
你需要在这里调用你的功能
$(document).ready(function()
{
currentTODO.find('.status').is(":checked")) { //or whatever code yo are using
currentTODO.find('.text').addClass("done");
alert('Test.');
};
答案 2 :(得分:0)
为什么不在文档加载时检查
function check_checkbox () {
if (currentTODO.find('.status').is(":checked")) {
currentTODO.find('.text').addClass("done");
alert('Test.');
}
}
$(document).ready(function () {
check_checkbox()
}
或者如果你在doc ready中定义它,你不应该这样做,但如果你做了
$(document).ready(function () {
function check_checkbox () {
if (currentTODO.find('.status').is(":checked")) {
currentTODO.find('.text').addClass("done");
alert('Test.');
}
}()
}