一、语言和环境
- 实现语言:HTML,CSS,JavaScript,JQuery。
 - 开发环境:HBuilder。
 
二、题目(100分):
1、使用Jquery和JavaScript实现二级分类菜单管理
- 点击“添加一级分类”能添加一行一级分类
 - 点击“添加子分类”能添加一行二级分类
 - 点击“删除”可以删除该级分类,并且删除一级分类的同时,相关二级分类也随之删除。
 - 点击“全选”可以实现下列行全选,再次点击取消,当其中一个取消后全选复选框不被选中,当全部选中后全选复选框选中。
 
 
 
实现效果
2、推荐实现步骤
- 在HTML页面中,选择合适的插入方法插入相关节点。
 - 使用remove()方法实现分类的删除操作,可通过js方式或者jquery方式获取相关节点并删除。
 - 提示:复选框的checked的属性值为false时说明未被选中,为true或者checked时状态为选中。
 - 合理使用选择器,可以简化代码。
 
三、评分标准
题目:二级分类菜单管理  | |||
该程序评分标准如下:  | |||
10  | 正确按照效果图编写出html代码  | ||
5  | 正确显示操作界面  | ||
5  | 将界面美化,适当添加动画,背景颜色  | ||
40  | 复选框操作  | ||
10  | 点击全选复选框,所有复选框被选中,再次点击取消选中状态  | ||
15  | 全选状态下,其中一个复选框状态为未被选中时,全选复选框也未被选中  | ||
15  | 选中所有复选框,全选复选框被选中  | ||
40  | 正确编写JS/JQuery代码实现分级分类菜单操作  | ||
10  | 实现添加一级目录功能  | ||
5  | 实现删除一级目录功能(一级目录删除相关二级目录可不删除)  | ||
10  | 实现添加二级目录功能  | ||
5  | 删除二级目录功能  | ||
5  | 删除一级目录,二级目录随之删除  | ||
10  | 整体效果美观以及代码编写规范  | ||
5  | 整体显示效果美观  | ||
5  | 命名规范,可读性好,编码书写有缩进  | ||
总分  | 100分  | ||
四、实现代码:
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title></title>
    <style type="text/css">
      *{
        margin: 0;
        padding: 0;
      }
      td,th{
        padding: 10px;
      }
      #content{
        margin: 0 auto;
        width: 800px;
        height: 500px;
      }
    </style>
    <script src="js/jquery-3.3.1.js" type="text/javascript" charset="utf-8"></script>
    <script type="text/javascript">
      // 添加一级菜单
      function addChild(){
        var th = $("tr:first-child");
        th.after(
        '<tr class="oneMenu">'+
          '<td><input type="checkbox" /> </td>'+
          '<td>一级菜单</td>'+
          '<td><a href="#" onclick="addChilds(this)">添加子分类</a></td>'+
          '<td><a href="#" onclick="delChild(this)">删除</a></td>'+
        '</tr>'
        );
      };
      // 添加二级菜单
      function addChilds(item){
        var th = item.parentNode.parentNode;
        $(th).after(
          '<tr class="twoMenu">'+
            '<td></td>'+
            '<td>二级菜单</td>'+
            '<td></td>'+
            '<td><a href="#" onclick="delChild(this)">删除</a></td>'+
          '</tr>'
        );
      };
      // 删除节点
      function delChild(item){
        var th = item.parentNode.parentNode;
        if (th.className="oneMenu") {
          $(th).remove();
        } else{
          var two = document.className("twoMenu")
          console.log(two)
          $(two).remove();
        }
      }
      // 设置全选
      function allCheck(){
        var all = $("#all");
        var che = $("input[type='checkbox']");
        for (var i = 0;i<che.length;i++) {
          che[i].checked = all[0].checked;
        }
      };
    </script>
  </head>
  <body>
    <div id="content">
      <input type="button" value="添加一级菜单" onclick="addChild()"/>
      <br />
      <table>
        <tr>
          <th><input type="checkbox" id="all" onclick="allCheck()"/>  全选</th>
          <th>分类</th>
          <th>菜单</th>
          <th>操作</th>
        </tr>
        <tr class="oneMenu">
          <td><input type="checkbox" /> </td>
          <td>一级菜单</td>
          <td><a href="#" onclick="addChilds(this)">添加子分类</a></td>
          <td><a href="#" onclick="delChild(this)">删除</a></td>
        </tr>
        <tr class="twoMenu">
          <td></td>
          <td>二级菜单</td>
          <td></td>
          <td><a href="#" onclick="delChild(this)">删除</a></td>
        </tr>
      </table>
    </div>
  </body>
</html>









