1

我有一些嵌套的复选框正在从数据库中加载正确的数据,但是我想在文本标签中添加一条线来检查那些被选中的复选框。二级复选框工作正常,但我无法使一级复选框正常工作。

你可以在这里看到错误:

http://jsfiddle.net/Zfv7h/3/

$(document).ready(function() {
  $(".content-finalized").each(function() {
    if ($(this).attr("checked")) {
     $(this).closest("li").css("text-decoration", "line-through");
    }
    });
  $(".subchapter-finalized").each(function() {
    if ($(this).attr("checked")) {
      $(this).closest("li").css("text-decoration", "line-through");
    }
    });
});

谢谢你的帮助。

4

1 回答 1

1

更新的答案

将您的 Javascript 更改为此

$(document).ready(function () {
    $("input.content-finalized:checkbox:checked").next('span').css("text-decoration", "line-through");
    $("input.subchapter-finalized:checkbox:checked").parent().css("text-decoration", "line-through");
});

我不得不稍微改变你的 html 标记。我所做的只是将章节包装在一个 . 这就是为什么。当我将 css line-though 应用于 parent<li>时,它也将其应用于它的子项,即使我将 text-decoration 指定为 none 以用于未检查的元素。所以,现在<li>我没有将其应用于 parent ,而是将其应用于<span>

这是一个更新的小提琴

于 2013-03-24T01:38:43.460 回答