JavaWeb08

jquery

jquery简介:

jquery是一个快速、简洁的javascript框架,于2006年1月份发布,jquery设计的宗旨是"write less,do more",倡导写更少的代码,做更多的事情

封装了JavaScript常用的一些功能代码,提供了一种简便的js设计模式,优化html文档操作、事件处理、动画设计和ajax交互

jquery核心特性:可以总结为具有独特的链式语法和短小清晰的多功能接口,具有高效灵活的css选择器,并且可以对css选择器进行扩展,拥有便捷的插件扩展机制和丰富的插件

jquery兼容各种主流的浏览器

jquery下载和引入

下载地址:https://jquery.com/download/

引入:

复制代码
<script src="jquery_4.0.0.min.js"></script>
    <script>
        $(function(){
            alert("hello j");
        })
    </script>

jquery常见的选择器

$("div"):标签选择器

$("#id"):id选择器

$(".X"):class选择器

$("input[type='checkbox']"):属性选择器

复制代码
<style>
        div{
            width: 100px;
            height: 100px;
            background-color: red;
        }
    </style>
</head>
<body>
    <div id="X"></div>
        <input type="button" value="隐藏" id="btn">
        <input type="button" value="显示" id="btn1">
        <input type="button" value="切换" id="btn2">
        <script src="jquery_4.0.0.min.js"></script>
        <script>
            $(function(){
                $("#btn").click(function(){
                    $("#X").hide();               
                    alert("隐藏了");
                });
                $("#btn1").click(function(){
                    $("#X").show(10000);               
                    alert("显示了");
                })
                $("#btn2").click(function(){
                    $("#X").toggle();               
                    alert("切换了");
                })
            })
        </script>
</body>

使用jquery改变控件属性

prop方法

attr方法

removeAttr方法

复制代码
<body>
    <input type="checkbox">我同意 隐私政策
    <br>
    <input type="button" value="注册" disabled id="btn">
    <script src="jquery_4.0.0.min.js"></script>
    <script>
        $(function(){
            $("[type='checkbox']").click(function(){
                let f = $(this).prop("checked");
                if(f){
                 $("#btn").removeAttr("disabled");   
                }
            })
        })
    </script>
</body>

使用jquery改变css样式

css("属性","属性值").css ··· ···

css("属性1":"值1","属性2":"值2")

addClass("class名")

复制代码
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        div{
            width: 100px;
            height: 100px;
            background-color: red;
        }
        .xx{
            background-color: aqua;
            width: 50px;
            height: 50px;
        }
    </style>
</head>
<body>
    <div></div>
    <input type="button" value="按钮" id="btn">
    <script src="jquery_4.0.0.min.js"></script>
    <script>
        $(function(){
            $("#btn").click(function(){
                // $("div").css("background-color","blue").css("border","1px solid black");
                // $("div").css({
                //     "background-color":"pink"
                // })
                $("div").addClass("xx").removeClass("xx");
            })
        })
    </script>
</body>

jquery去获取或改变value值

.val():获取value值

.val("值"):赋值

复制代码
<body>
    <input type="text" id="V" placeholder="请输入文本">
    <input type="text" id="idnum" placeholder="请输入身份证">
    <input type="text" id="age" placeholder="请输入年龄">
    <script src="jquery_4.0.0.min.js"></script>
    <script>
        $(function(){
            $("#V").blur(function(){
                let f = $(this).val();
                if(f==""){
                    alert("请输入文本");
                }else{

                }
            })
            $("#idnum").blur(function(){
                let v = $(this).val();
                let year = parseInt(v.substring(6,10));
                let d = new Date();
                let cy = d.getFullYear();
                let age = cy - year;
                $("#age").val(age);
            })
        })
    </script>
</body>

jquery获取或改变html值

html():获取html值

html("值"):赋值

jquery来完成dom操作

append()在被选元素的结尾插入内容

prepend()在被选元素开头去插入内容

empty()在当前被选元素中删除子元素

remove()删除被选元素及其子元素

复制代码
<body>
    省份:<select id="p">
        <option>--请选择--</option>
    </select>
    城市:<select id="c">
        <option>--请选择--</option>
    </select>
    <script src="jquery_4.0.0.min.js"></script>
    <script>
        $(function(){
            let ps = ["江苏省","浙江省","广东省"];
            for(let i = 0;i < ps.length;++i){
                $("#p").append("<option value="+ps[i]+">"+ps[i]+"</option>")
            }
            let cs=[[],["南京市","苏州市"],["杭州市","宁波市"],["广州市","深圳市"]];
            $("#p").change(function(){
                $("#c").empty();
                $("#c").append("<option>--请选择--</option>");
                let index = $(this).prop("selectedIndex");
                if(index!=-1){
                    let arr = cs[index];
                    for(let i = 0;i < arr.length;++i){
                        $("#c").append("<option value="+arr[i]+">"+arr[i]+"</option>");
                    }
                }
            });
        })
    </script>
</body>

json

简介:

JSON(javaScript Object Notation,js对象标记),是一种轻量级的数据交换格式,易于阅读的编写,可以在多种语言之间进行数据交换

以前数据交换,使用xml(可扩展的标记语言)

json

vb 复制代码
`{
"name":"zhangsan";
"gender":"men";
"age":20;
}`

json包括类型:

1.简单值:字符串,数字值,布尔值,null都可以在json中出现,特殊值undefined不可以出现

如:"hello json",是一个有效的json数据

区别:json字符串必须用双引号

2.对象:是一种复杂的数据类型,对象表示有键值对,每个值可以是简单值,也可以是复杂类型

在javaScript中,我们想定义一个对象

复制代码
const user={
name:"libai",
age:20,
gender:"man"
};

在json中,要求将属性用双引号包围起来

复制代码
{
"name":"libai",
"age":20,
"gender":"man"
}

第一种区别:没有变量声明

第二种区别:没有分号

json对象中的复杂类型:

Person类(name,age,gender,school) School类(name,location)

复制代码
{
"name":"libai",
"age":20,
"gender":"man",
"school":{
"name":"北京大学",
"location":"北京"
}
}

数组:

复杂数据类型,数组的值可以是任意类型,包括简单值,对象,其他数组

javaScript定义数组

复制代码
let arr = ["abc",12,true];

json表示:

复制代码
["abc",12,true]

数组和对象集合:

类似于java中的集合或对象数组

Person类,Person[] person = new Person[];

json表示

复制代码
[
{
"name":"libai",
"age":20,
"gender":"man"
},
{
"name":"lbai",
"age":2,
"gender":"an"
}
]

json的解析与序列化:

json流行的原因:

1.语法与js类似

2.独立于各种语言

3.json可以直接被解析成js对象

JSON对象:

stringify():将js序列化成json字符串

parse():将json解析成js值

复制代码
<body>
    <script>
        const person={
        name:"libai",
        age:20,
        gender:"man",
        school: {
            name:"北京大学",
            location:"北京"
        }
    };
    //将js序列化js字符串
    let jsonText = JSON.stringify(person);
    console.log(jsonText);
    //打印得到{"name":"libai","age":20,"gender":"man",
    //"school":{"name":"北京大学","location":"北京"}}
    //将js字符串解析成js对象
    const person1 = JSON.parse(jsonText);
    console.log(person1);
    //打印得到一个Object对象
    //获得地址
    console.log(person1.school.location);
    </script>
</body>

ajax

ajax(Asynchronous javaScript And XML):完成异步调用处理,实现页面局部刷新功能

复制代码
<body>
    <input type="text" id="name" placeholder="请输入姓名">
    <span id="ns"></span>
    <script src="jquery_4.0.0.min.js"></script>
    <script>
        $(function(){
            $("#name").blur(function(){
                //异步传输数据
                $.ajax({
                    url:"result.json",//后台服务器访问的地址
                    type:"get",//使用get方法提交还是post方法提交
                    data:{
                    name:$("#name").val()    
                    },//传给后台的数据
                    dataType:"json",//数据传输类型
                    success:function(res){//处理成功的话
                        let r = res.result;
                        if(r == "have"){
                            $("#ns").html("姓名已存在").css("color","red");
                        }else{
                            $("#ns").html("可以注册").css("color","green");
                        }
                    },
                    error:function(){//失败的话
                        console.log("系统异常");
                        $("#ns").html("系统异常").css("color","red");
                    }
                })
            })
        })
    </script>
</body>

bootstrap

官网:https://getbootstrap.com/

导入:<link rel="stylesheet" href="bootstrap.min.css" type="text/css">

要有一个<div class="container">作为容器

相关推荐
2401_878454533 小时前
html和css的复习(1)
前端·css·html
@PHARAOH3 小时前
WHAT - git worktree 概念
前端·git
IT_陈寒4 小时前
我竟然被JavaScript的隐式类型转换坑了三天!
前端·人工智能·后端
我亚索贼六丶4 小时前
二十六. AI基础概念之如何更好的使用AI
前端
小码哥_常4 小时前
安卓启动页Logo适配秘籍:告别“奇形怪状”的展示
前端
我亚索贼六丶4 小时前
二十五.Electron 初体验与进阶
前端
当时只道寻常4 小时前
像使用 Redis 一样操作 LocalStorage
前端·前端工程化
RONIN4 小时前
UI组件库elementplus
前端
汤姆Tom4 小时前
从 0 到 1 开发项目?你是否也是这样开始?先有再优化一步一步带你了解架构设计
前端·后端·架构