如果带有JQuery的子LI中没有复选框,如何删除LI中的父复选框

时间:2011-10-28 14:47:38

标签: jquery html-lists

<ul ="staffTree">
    <li>
        <input type="checkbox" name="selectedNode" id="selectedNode" value = "Manager">
        Manager
        <ul>
            <li>
                <input type="checkbox" name="selectedNode" id="selectedNode" value = "AsstManager">
                Asst. Manager
                <ul>
                    <li>
                        <img src="images/not_allowed.png" title="Not Allowed">
                        Staff Member 1
                    </li>
                    <li>
                        <img src="images/not_allowed.png" title="Not Allowed">
                          Staff Member 2
                    </li>
                    <li>
                        <img src="images/not_allowed.png" title="Not Allowed">
                          Staff Member 3
                    </li>
                </ul>
            </li>
        </ul>
    </li>
</ul>

在此示例中,没有任何职员的复选框,因此我想替换Asst的输入字段。具有“不允许”图像的经理。 如果任何li中存在任何复选框。然后父母也将包含复选框。而超级母公司(经理)也将拥有。树将是N级。

我正在尝试为它创建一个jQuery选择器。并需要指针。

1 个答案:

答案 0 :(得分:1)

$('#staffTree li > input:checkbox').each(function () {
  var $this = $(this);
  if ($this.siblings().has('li > input:checkbox').length) {
    return;
  }
  $this.replaceWith('<img src="images/not_allowed.png" title="Not Allowed">');
});

这是一个小提琴http://jsfiddle.net/823vR/