数据库的安装与初识

---恢复内

1,mysql是一个关系型数据库管理系统,就是一个基于socket编写的c/s架构的软件

1.1>数据库管理软件分类:

  1.1.1>关系型:如sqllite, db2, oracle,access, sql sever,MySQL,注意sql语句通用.

关系型数据结构需要有表结构,非关系型数据库是key-value存储的,没有表结构.

mysql的下载地址:https://dev.mysql.com/downloads/mysql/

2,下载完以后,是一个压缩包,然后解压后的文件移动到指定目录

3,添加环境变量:计算机-->属性-->高级形同设置-->环境变量-->找到path这一行双击-->将mysql的bin目录路径追加到编制中,用;分割

4.初始化,在cmd中输入命令:mysqld --initialize-insecure

5,启动mysql服务:在cmd中输入:mysqld

6,启动mysql客户端并连接mysql服务端(新开一个cmd窗口,管理员身份去开启)

mysql -u root -p    (权限用户连接mysql服务器)

7,安装window服务

  7.1>以管理员的身份运行cmd:

    杀死服务端的进程:tasklist|findstr mysql   查看进程号

            taskkill/F/PID进程号

  7.2>安装windows服务(mysql服务端软件安装到windows)一般在管理员界面mysql --install(删除安装服务直接:mysql --remove)

  7.3>启动服务:net start mysql    停止服务:net stop mysql

8,密码设置:

  update mysql.user set authentication_string =password('123') where User='root';

刷新权限: flush privils(在cmd中输入这个指令)

破解密码:  ---先把原来mysql服务端关闭

      ---管理员身份运行执行:mysql --skip-grant-tables

      ---客户端连接服务端此时修改密码,注意修改密码之后一定要刷新权限

9,统一字符编码

进入mysql客户端,执行s

为了统一字符编码,请执行如下操作:

(1)my.ini文件是mysql的配置文件:需要在你下载本地路径的:mysql-5.6.40-winx64文件下创建my.ini文件

(2)将以下代码代码拷贝保存

#mysql5.5以上:修改方式为
    [mysqld]
    character-set-server=utf8
    collation-server=utf8_general_ci
    [client]
    default-character-set=utf8
    [mysql]
    default-character-set=utf8

10,创建用户

  10.1>指定ip创建用户:create user `mjj`@`192.168.1.1`identifisd by `123`

  10.2>指定ip为:192.168.1.开头的mjj用户登录:

    create user 'mjj'@'192.%.%.%'identified by '123';

  10.3>指定任何ip的mjj用户登录:create user 'mjj'@'%' identified by '123'

11,sql语句(sql是一种强类型语言,对数据类型有严格的要求)

  show databases ;查看所有的数据库

  use db1;进入数据库

  create database是 db1; 创建数据库

创建用户:

create table s1(id int,name char(10))创建的表格形式是id和不超过10位的字符串

insert into s1(id,name) value(1,"alex"),(2,"娜扎");

对当前用户授权操作(root用户拥有)

授权,mjj用户仅对db1.t1文件有查询,插入和更新的操作

grant select on db1 .s1 to "mjj"@'%';

表示所有的权限,除了grant这个命令,这个命令是root才有的,mjj用户对db1下的t1文件有任意操作

grant all privileges on db1.*to "mjj"@'%';

mjj用户对所有数据库中文件有任何操作

grant all privilege on *.* to "mjj"@'%';

取消授权:

revoke select ondb1.s1 from "mjj"@'%';

mysql-umjj-h192.168.12.74-p by"密码(123) " 

容开始---

1,表格的增删改查

<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .cover {
            position: fixed;
            left: 0;
            right: 0;
            top: 0;
            bottom: 0;
            background-color: rgba(0, 0, 0, 0.4);
            z-index: 99;
        }

        .model {
            position: absolute;
            left: 40%;
            top: 30%;
            height: 200px;
             300px;
            background-color: whitesmoke;
            z-index: 999;
        }
        .c1 {
            margin-left:40px;
            margin-top: 30px;
        }
        .hide {
            display: none;
        }
    </style>
</head>
<body>
<input type="button" value="新增" id="add">
<table border="3">
    <thead>
    <tr>
        <td>序号</td>
        <td>姓名</td>
        <td>爱好</td>
        <td>操作</td>
    </tr>
    </thead>
    <tbody>
    <tr>
        <td>1</td>
        <td>康琛</td>
        <td>大饼</td>
        <td>
            <input type="button" value="编辑" class="edit">
            <input type="button" value="删除" class="delete">
        </td>
    </tr>
    <tr>
        <td>2</td>
        <td>朱晓乐</td>
        <td>我哥</td>
        <td>
            <input type="button" value="编辑" class="edit">
            <input type="button" value="删除" class="delete">
        </td>

    </tr>
    <tr>
        <td>3</td>
        <td>韩飞</td>
        <td>闷骚</td>
        <td>
            <input type="button" value="编辑" class="edit">
            <input type="button" value="删除" class="delete">
        </td>
    </tr>
    <tr>
        <td>4</td>
        <td> 王帆</td>
        <td>黄黄</td>
        <td>
            <input type="button" value="编辑" class="edit">
            <input type="button" value="删除" class="delete">
        </td>
    </tr>
    <tr>
        <td>5</td>
        <td>静静</td>
        <td>我男朋友</td>
        <td>
            <input type="button" value="编辑" class="edit">
            <input type="button" value="删除" class="delete">
        </td>
    </tr>
    <tr>
        <td>6</td>
        <td>黄黄</td>
        <td>不是帆帆</td>
        <td>
            <input type="button" value="编辑" class="edit">
            <input type="button" value="删除" class="delete">
        </td>
    </tr>
    </tbody>
</table>
<!--覆盖层 -->
<div class="cover hide"></div>
<!--模态框-->
<div class="model hide">
    <div class="c1">
        <p>
            <label for="name">姓名:</label>
            <input type="text" id="name">
        </p>
        <p>
            <label for="hobby">爱好:</label>
            <input type="text" id="hobby">
        </p>
        <p>
            <input type="button" value="提交" id="yes">
            <input type="button" value="取消" id="no">
        </p>
    </div>

</div>
<script src="jquery-3.3.1.js"></script>
<script>
    var flag= null;
    // 弹出模态框函数
    function showModel() {
        $(".model, .cover").removeClass("hide")
    }
    // 隐藏模态框函数
    function hideModel() {
        // 隐藏模态框的时候要,清空input的值
        $("#name,#hobby").val("");
        $(".model,.cover").addClass("hide")
    }
    // 给三个按钮分别绑定事件
    // 1,给新增按钮绑定事件
    $("#add").click(function () {
        showModel()
    });
    // 2,给模态框中的取消按钮绑定事件
    $("#no").click(function () {
        hideModel()
    });
    // 3,给删除按钮绑定事件
    // 因为会有新增的列表所以编辑和删除都需要事件委托
    $("table").on("click",".delete",function () {
        // 删除涉及前边序号的改变
        // 先把下边的序号更新后再删除
        // 获取到备点击这一行的序号(因为删除行和更新洗好和每一个表格的tr有关联)
        var $currentTr = $(this).parent().parent();
        $currentTr.nextAll().each(function () {
            var currentNum = $(this).children().first().text();
            $(this).children().first().text(currentNum - 1)
        });
        // 删除本行
        $currentTr.remove()

    });
    // 4,给模态框里的提交按钮绑定事件
    // 分两种情况:新增按钮的提交和编辑的提交
    // 新增的提交按钮绑定事件
    $("#yes").click(function () {
        // 1获取到用户填入的值
        var name = $("#name").val();
        var hobby = $("#hobby").val();
        // 此时根据flag的值判断一下是编辑还是新增
        if (flag) {
            // 是编辑
            flag.children().eq(1).text(name);
            flag.children().eq(2).text(hobby);
            // 每次编辑完之后都要清空flag,避免对后边的数据污染
            flag = null
        }else {
            // 此时是新增
            // 先计算一下tr的值
            var num = $("table tr").length;
            // 创建表格标签
            var trEle = `
            <tr>
                <td>${num}</td>
                <td>${name}</td>
                <td>${hobby}</td>
                <td>
                    <button class="edit">编辑</button>
                    <button class="delete">删除</button>
                </td>
            </tr>
            `;
        }
        // 把创建的标签追加到tbody中
        $("tbody").append(trEle);
        // 隐藏模态框
        hideModel()
    });
    // 给编辑按钮绑定事件(编辑按钮涉及给未来标签绑定事件)事件委托
    $("table").on("click",".edit",function () {
        // 弹出模态框
        showModel();
        // 2,获取到前值
        var name = $(this).parent().prev().prev().text();
        var hobby = $(this).parent().prev().text();
        // 3添加到模态框中
        $("#name").val(name);
        $("#hobby").val(hobby);
        // 改变flag的值
        flag = $(this).parent().parent()
    })

</script>
</body>
</html>
View Code

2,当锁用的操作在系统不是别的情况下,是因为导入的顺序有问题

在和HTML的头部加.重新加载一次导入意思.

3按住shift键批量操作代码

<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <title>雪雪</title>
</head>
<body>
<table border="1">
    <thead>
    <tr>
        <th>序号</th>
        <th>姓名</th>
        <th>操作</th>
    </tr>
    </thead>
    <tbody>
    <tr>
        <td><input type="checkbox"></td>
        <td>鞠婧祎</td>
        <td>
            <select>
                <option>上线</option>
                <option>下线</option>
                <option>离职</option>
            </select>
        </td>
    </tr>
    <tr>
        <td><input type="checkbox"></td>
        <td>孟美岐</td>
        <td>
            <select>
                <option>上线</option>
                <option>下线</option>
                <option>离职</option>
            </select>
        </td>
    </tr>
    <tr>
        <td><input type="checkbox"></td>
        <td>杨超越</td>
        <td>
            <select>
                <option>上线</option>
                <option>下线</option>
                <option>离职</option>
            </select>
        </td>
    </tr>
    <tr>
        <td><input type="checkbox"></td>
        <td>李子璇</td>
        <td>
            <select>
                <option>上线</option>
                <option>下线</option>
                <option>离职</option>
            </select>
        </td>
    </tr>
    <tr>
        <td><input type="checkbox"></td>
        <td>段奥娟</td>
        <td>
            <select>
                <option>上线</option>
                <option>下线</option>
                <option>离职</option>
            </select>
        </td>
    </tr>
    </tbody>
</table>
<input type="button" class="c1" value="全选">
<input type="button" class="c2" value="反选">
<input type="button" class="c3" value="取消">
<script src="jquery-3.3.1.js"></script>
<script>
    // 1,给全选绑定事件
    $(".c1").click(function () {
        $("input[type=checkbox]").prop("checked",true)
    })
    // 2,给取消绑定事件
    $(".c3").click(function () {
        $("input[type=checkbox]").prop("checked",false)
    })
    // 3,给反选绑定事件
    $(".c2").click(function () {
        // 循环每一个复选框
        $("input[type=checkbox]").each(function () {
            // 获取每一个复选框的checked的布尔值
             var flag = $(this).prop("checked");
             // 把每一个对应的复选框的布尔值改为相反值
            $(this).prop("checked",!flag)
        })
    });
    // 1,获取shift按下和抬起得到事件
    // 2,获取被选中的复选框
    // 3,给这些被选中的复选框绑定事件
    // 定义一个全局变量
    var flag = false;
    // 1.监听shift键的状态,并把这种状态转化为flag的值得变化
    // 当shift被按下的时候
    $(window).keydown(function (event) {
        if (event.keyCode === 16) {
            flag = true
        }
    });
    // 当 shift键弹起来的时候
    $(window).keyup(function (event) {
        if (event.keyCode === 16) {
            flag =false
        };
    });
    // 2,监听select框的值是否发生了变化
    $("select").change(function () {
        // 获取到被选中放入复选框
        var isChecked = $(this).parent().siblings().first().find("input[type=checkbox]").prop("checked");
        //3, 把改变了值的select和被选中的复选框绑定事件
        if (flag && isChecked) {
            // 获取到select修改的值
            var value = $(this).val();
            // 找到被选中的标签的select标签
            var $select = $("input:checked").parent().parent().find("select");
            // 把被勾选了的复选框的select值进行修改
            $select.val(value)
        }
    })
</script>
</body>
</html>
View Code

4,hover购物车

<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        body {
            margin: 0;
        }
        .menu {
            height: 50px;
             100%;
            background-color: #5e5e5e;
            color: whitesmoke;
        }
        .menu>ul {
            list-style-type: none;
            padding: 0;
            margin: 0;
        }
        li {
            float: left;
            margin-right: 20px;
            line-height: 50px;
            position: relative;
        }
        .shopping-Cart {
            background-color: #00a9ff;
            color: white;
            height: 50px;
             90px;
            position: absolute;
            right: 0;
            display: none;
        }
        .hover>.shopping-Cart {
            display: block;
        }
    </style>
</head>
<body>
<div class="menu">
    <ul class=>
        <li>登陆</li>
        <li>注册</li>
        <li class="cart">购物车
            <div class="shopping-Cart">空空如也~~</div>
        </li>
    </ul>
</div>
<script src="jquery-3.3.1.js"></script>
<script>
    // $(".cart").hover(function () {
    //         $(".shopping-Cart").css("display", "block");
    //     });
    // $(".cart").leave(function () {
    //     $(".shopping-Cart").css("display","none")
    // })
    // $(".cart").hover(
    //     function () {
    //     $(".shopping-Cart").css("display","block");
    //         console.log(123)
    //     },
    //     function () {
    //      $(".shopping-Cart").css("display","none");
    //         console.log(456)
    //     }
    // );
    // $(".cart").hover(
    //     function () {
    //     $(".shopping-Cart").css("display","block")
    //     },
    //     function () {
    //     $(".shopping-Cart").css("display","none")
    //     }
    // )
    // $(".cart").hover(
    //     function () {
    //     $(this).addClass("hover")
    // },
    //     function () {
    //         $(this).removeClass("hover")
    //     }
    // )
    // 绑定事件
    $(".menu").on("mouseenter",".cart",function () {
        $(this).addClass("hover")
    });
    $(".menu").on("mouseleave",".cart",function () {
        $(this).removeClass("hover")
    })
</script>
</body>
</html>
View Code

5,登陆验证联系题

---恢复内容结束---

1,表格的增删改查

<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .cover {
            position: fixed;
            left: 0;
            right: 0;
            top: 0;
            bottom: 0;
            background-color: rgba(0, 0, 0, 0.4);
            z-index: 99;
        }

        .model {
            position: absolute;
            left: 40%;
            top: 30%;
            height: 200px;
             300px;
            background-color: whitesmoke;
            z-index: 999;
        }
        .c1 {
            margin-left:40px;
            margin-top: 30px;
        }
        .hide {
            display: none;
        }
    </style>
</head>
<body>
<input type="button" value="新增" id="add">
<table border="3">
    <thead>
    <tr>
        <td>序号</td>
        <td>姓名</td>
        <td>爱好</td>
        <td>操作</td>
    </tr>
    </thead>
    <tbody>
    <tr>
        <td>1</td>
        <td>康琛</td>
        <td>大饼</td>
        <td>
            <input type="button" value="编辑" class="edit">
            <input type="button" value="删除" class="delete">
        </td>
    </tr>
    <tr>
        <td>2</td>
        <td>朱晓乐</td>
        <td>我哥</td>
        <td>
            <input type="button" value="编辑" class="edit">
            <input type="button" value="删除" class="delete">
        </td>

    </tr>
    <tr>
        <td>3</td>
        <td>韩飞</td>
        <td>闷骚</td>
        <td>
            <input type="button" value="编辑" class="edit">
            <input type="button" value="删除" class="delete">
        </td>
    </tr>
    <tr>
        <td>4</td>
        <td> 王帆</td>
        <td>黄黄</td>
        <td>
            <input type="button" value="编辑" class="edit">
            <input type="button" value="删除" class="delete">
        </td>
    </tr>
    <tr>
        <td>5</td>
        <td>静静</td>
        <td>我男朋友</td>
        <td>
            <input type="button" value="编辑" class="edit">
            <input type="button" value="删除" class="delete">
        </td>
    </tr>
    <tr>
        <td>6</td>
        <td>黄黄</td>
        <td>不是帆帆</td>
        <td>
            <input type="button" value="编辑" class="edit">
            <input type="button" value="删除" class="delete">
        </td>
    </tr>
    </tbody>
</table>
<!--覆盖层 -->
<div class="cover hide"></div>
<!--模态框-->
<div class="model hide">
    <div class="c1">
        <p>
            <label for="name">姓名:</label>
            <input type="text" id="name">
        </p>
        <p>
            <label for="hobby">爱好:</label>
            <input type="text" id="hobby">
        </p>
        <p>
            <input type="button" value="提交" id="yes">
            <input type="button" value="取消" id="no">
        </p>
    </div>

</div>
<script src="jquery-3.3.1.js"></script>
<script>
    var flag= null;
    // 弹出模态框函数
    function showModel() {
        $(".model, .cover").removeClass("hide")
    }
    // 隐藏模态框函数
    function hideModel() {
        // 隐藏模态框的时候要,清空input的值
        $("#name,#hobby").val("");
        $(".model,.cover").addClass("hide")
    }
    // 给三个按钮分别绑定事件
    // 1,给新增按钮绑定事件
    $("#add").click(function () {
        showModel()
    });
    // 2,给模态框中的取消按钮绑定事件
    $("#no").click(function () {
        hideModel()
    });
    // 3,给删除按钮绑定事件
    // 因为会有新增的列表所以编辑和删除都需要事件委托
    $("table").on("click",".delete",function () {
        // 删除涉及前边序号的改变
        // 先把下边的序号更新后再删除
        // 获取到备点击这一行的序号(因为删除行和更新洗好和每一个表格的tr有关联)
        var $currentTr = $(this).parent().parent();
        $currentTr.nextAll().each(function () {
            var currentNum = $(this).children().first().text();
            $(this).children().first().text(currentNum - 1)
        });
        // 删除本行
        $currentTr.remove()

    });
    // 4,给模态框里的提交按钮绑定事件
    // 分两种情况:新增按钮的提交和编辑的提交
    // 新增的提交按钮绑定事件
    $("#yes").click(function () {
        // 1获取到用户填入的值
        var name = $("#name").val();
        var hobby = $("#hobby").val();
        // 此时根据flag的值判断一下是编辑还是新增
        if (flag) {
            // 是编辑
            flag.children().eq(1).text(name);
            flag.children().eq(2).text(hobby);
            // 每次编辑完之后都要清空flag,避免对后边的数据污染
            flag = null
        }else {
            // 此时是新增
            // 先计算一下tr的值
            var num = $("table tr").length;
            // 创建表格标签
            var trEle = `
            <tr>
                <td>${num}</td>
                <td>${name}</td>
                <td>${hobby}</td>
                <td>
                    <button class="edit">编辑</button>
                    <button class="delete">删除</button>
                </td>
            </tr>
            `;
        }
        // 把创建的标签追加到tbody中
        $("tbody").append(trEle);
        // 隐藏模态框
        hideModel()
    });
    // 给编辑按钮绑定事件(编辑按钮涉及给未来标签绑定事件)事件委托
    $("table").on("click",".edit",function () {
        // 弹出模态框
        showModel();
        // 2,获取到前值
        var name = $(this).parent().prev().prev().text();
        var hobby = $(this).parent().prev().text();
        // 3添加到模态框中
        $("#name").val(name);
        $("#hobby").val(hobby);
        // 改变flag的值
        flag = $(this).parent().parent()
    })

</script>
</body>
</html>
View Code

2,当锁用的操作在系统不是别的情况下,是因为导入的顺序有问题

在和HTML的头部加.重新加载一次导入意思.

3按住shift键批量操作代码

<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <title>雪雪</title>
</head>
<body>
<table border="1">
    <thead>
    <tr>
        <th>序号</th>
        <th>姓名</th>
        <th>操作</th>
    </tr>
    </thead>
    <tbody>
    <tr>
        <td><input type="checkbox"></td>
        <td>鞠婧祎</td>
        <td>
            <select>
                <option>上线</option>
                <option>下线</option>
                <option>离职</option>
            </select>
        </td>
    </tr>
    <tr>
        <td><input type="checkbox"></td>
        <td>孟美岐</td>
        <td>
            <select>
                <option>上线</option>
                <option>下线</option>
                <option>离职</option>
            </select>
        </td>
    </tr>
    <tr>
        <td><input type="checkbox"></td>
        <td>杨超越</td>
        <td>
            <select>
                <option>上线</option>
                <option>下线</option>
                <option>离职</option>
            </select>
        </td>
    </tr>
    <tr>
        <td><input type="checkbox"></td>
        <td>李子璇</td>
        <td>
            <select>
                <option>上线</option>
                <option>下线</option>
                <option>离职</option>
            </select>
        </td>
    </tr>
    <tr>
        <td><input type="checkbox"></td>
        <td>段奥娟</td>
        <td>
            <select>
                <option>上线</option>
                <option>下线</option>
                <option>离职</option>
            </select>
        </td>
    </tr>
    </tbody>
</table>
<input type="button" class="c1" value="全选">
<input type="button" class="c2" value="反选">
<input type="button" class="c3" value="取消">
<script src="jquery-3.3.1.js"></script>
<script>
    // 1,给全选绑定事件
    $(".c1").click(function () {
        $("input[type=checkbox]").prop("checked",true)
    })
    // 2,给取消绑定事件
    $(".c3").click(function () {
        $("input[type=checkbox]").prop("checked",false)
    })
    // 3,给反选绑定事件
    $(".c2").click(function () {
        // 循环每一个复选框
        $("input[type=checkbox]").each(function () {
            // 获取每一个复选框的checked的布尔值
             var flag = $(this).prop("checked");
             // 把每一个对应的复选框的布尔值改为相反值
            $(this).prop("checked",!flag)
        })
    });
    // 1,获取shift按下和抬起得到事件
    // 2,获取被选中的复选框
    // 3,给这些被选中的复选框绑定事件
    // 定义一个全局变量
    var flag = false;
    // 1.监听shift键的状态,并把这种状态转化为flag的值得变化
    // 当shift被按下的时候
    $(window).keydown(function (event) {
        if (event.keyCode === 16) {
            flag = true
        }
    });
    // 当 shift键弹起来的时候
    $(window).keyup(function (event) {
        if (event.keyCode === 16) {
            flag =false
        };
    });
    // 2,监听select框的值是否发生了变化
    $("select").change(function () {
        // 获取到被选中放入复选框
        var isChecked = $(this).parent().siblings().first().find("input[type=checkbox]").prop("checked");
        //3, 把改变了值的select和被选中的复选框绑定事件
        if (flag && isChecked) {
            // 获取到select修改的值
            var value = $(this).val();
            // 找到被选中的标签的select标签
            var $select = $("input:checked").parent().parent().find("select");
            // 把被勾选了的复选框的select值进行修改
            $select.val(value)
        }
    })
</script>
</body>
</html>
View Code

4,hover购物车

<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        body {
            margin: 0;
        }
        .menu {
            height: 50px;
             100%;
            background-color: #5e5e5e;
            color: whitesmoke;
        }
        .menu>ul {
            list-style-type: none;
            padding: 0;
            margin: 0;
        }
        li {
            float: left;
            margin-right: 20px;
            line-height: 50px;
            position: relative;
        }
        .shopping-Cart {
            background-color: #00a9ff;
            color: white;
            height: 50px;
             90px;
            position: absolute;
            right: 0;
            display: none;
        }
        .hover>.shopping-Cart {
            display: block;
        }
    </style>
</head>
<body>
<div class="menu">
    <ul class=>
        <li>登陆</li>
        <li>注册</li>
        <li class="cart">购物车
            <div class="shopping-Cart">空空如也~~</div>
        </li>
    </ul>
</div>
<script src="jquery-3.3.1.js"></script>
<script>
    // $(".cart").hover(function () {
    //         $(".shopping-Cart").css("display", "block");
    //     });
    // $(".cart").leave(function () {
    //     $(".shopping-Cart").css("display","none")
    // })
    // $(".cart").hover(
    //     function () {
    //     $(".shopping-Cart").css("display","block");
    //         console.log(123)
    //     },
    //     function () {
    //      $(".shopping-Cart").css("display","none");
    //         console.log(456)
    //     }
    // );
    // $(".cart").hover(
    //     function () {
    //     $(".shopping-Cart").css("display","block")
    //     },
    //     function () {
    //     $(".shopping-Cart").css("display","none")
    //     }
    // )
    // $(".cart").hover(
    //     function () {
    //     $(this).addClass("hover")
    // },
    //     function () {
    //         $(this).removeClass("hover")
    //     }
    // )
    // 绑定事件
    $(".menu").on("mouseenter",".cart",function () {
        $(this).addClass("hover")
    });
    $(".menu").on("mouseleave",".cart",function () {
        $(this).removeClass("hover")
    })
</script>
</body>
</html>
View Code

5,登陆验证问题

<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <title>今天上午没有课</title>
</head>
<body>
<form action="">
    <p>
        <label for="name">姓名:</label>
        <input type="text" id="name" class="c">
        <span></span>
    </p>
    <p>
        <label for="password">密码:</label>
        <input type="password" id="password" class="c">
        <span></span>
    </p>
    <input type="button" value="提交" id="i1">
</form>
<script src="jquery-3.3.1.js"></script>
<script>
    // 现在只有一个按钮,所以需要给没依噶按钮帮规定事件
    $("#i1").click(function () {
        // 找到每一个输入框
        $(".c").each(function () {
            // 获取到每一个输入框的值,并计算它的长度(切记:获取输入框等form表单的值要用val())
            if ($(this).val().length === 0) {
                // 获取标签内的文本要用text()
                var content = $(this).prev().text().slice(0,-1);
                $(this).next().text(content + "不能为空").css("color","violet")
            }
        })
    })
</script>
</body>
</html>
原文地址:https://www.cnblogs.com/ljc-0923/p/9801303.html