华清远见-重庆中心-前端技术总结

文章目录

目录

文章目录

前言

web 开发基础三大语言

一、HTML

html常用标签

二、CSS

1、语法

2、css的三大特性:继承性、优先级、层叠性

1.继承

2、优先级(权重)

3.层叠

3.选择器

选择器关系

伪类 

4、文档流

1.- 网页是一个层叠的结构

2.元素在文档流中的特点 (显示模式)

3.元素的显示模式转换

5、盒子模型

        盒模型

        1. 块元素的水平布局

            2.块元素的垂直布局

              3.外边距的折叠

6、浮动

 float 浮动 

clear 清除浮动

7、定位 position

                absolute    绝对定位

                relative    相对定位

                fixed    固定定位

元素的层级 z-index

三、JavaScript

1.输入输出语句

2.数据类型

String 字符串

Number 数值

3.运算符

运算符优先级顺序:

4.循环

while 和 do - while

for-in遍历

break 和 continue

冒泡排序

5.js内置函数

1.Array        数组

数组的常用方法 

 2.Math

1.对象

2.函数

 三 - 一 DOM和BOM

DOM

BOM 

三 - 二 jQuery

jquery的引入

 jquery设置样式

jquery操作类

jquery设置属性

 jquery事件绑定

jquery常用表单事件

jquery增删节点

jquery过滤选择器

总结



前言

web 开发基础三大语言

  • HTML 定义网页的内容(结构)

  • CSS 规定网页的布局(样式)

  • JavaScript 对网页行为进行编程(行为)


一、HTML

HTML 是用来描述网页的一种语言。

  • HTML 指的是超文本标记语言: HyperText Markup Language
  • HTML 不是一种编程语言,而是一种标记语言
  • 标记语言是一套标记标签 (markup tag)
  • HTML 使用标记标签来描述网页
  • HTML 文档包含了HTML 标签文本内容
  • HTML文档也叫做 web 页面

html常用标签

标题标签 (h1~h6)

段落标签(p,br)

转义字符(空格 &nbsp;        < &lt;        > &gt;         版权符号 &copy;)

文本格式化标签(

  •         b标签(bold)和 strong标签 - 语义:加粗
  •         i标签 (italic) 和em标签 (emphasized) - 语义:斜体
  •         s标签(strikethrough)和del标签(delete)- 语义:删除
  •         u标签(underline)和ins标签(insert text) - 语义:下划线
  •         sup标签- 语义:上标
  •         sub标签  - 语义:下标

图像标签(img)

超链接标签(a)

表格标签(table、th、tr、td…

                rowspan="2" 合并2行、colspan="2" 合并2列)

表单标签(form、以及form表单里面的属性)

框架标签(iframe:在一个网页里面显示另一个网页)

区块标签(div、span)


二、CSS

  • CSS 指层叠样式表 (Cascading Style Sheets)
  • 样式定义如何显示 HTML 元素
  • 样式通常存储在样式表
  • 把样式添加到 HTML 4.0 中,是为了解决内容与表现分离的问题
  • 外部样式表可以极大提高工作效率
  • 外部样式表通常存储在 CSS 文件
  • 多个样式定义可层叠为一个

1、语法

            选择器 { 属性名: 属性值;属性名: 属性值;}//样式声明,一个或多个属性

2、css的三大特性:继承性、优先级、层叠性

1.继承

  •             在祖先元素中设置的样式,同样应用到了它的后代元素中
  •             不是所有的样式都会继承
  •             常见可以继承的样式                color font-, text-, line-
  •             常见不可以继承的样式               背景相关 background-,布局相关 width

2、优先级(权重)

优先级就是分配给指定的 CSS 声明的一个权重,它由 匹配的选择器中的 每一种选择器类型的 数值 决定。而当优先级与多个 CSS 声明中任意一个声明的优先级相等的时候,CSS 中最后的那个声明将会被应用到元素上。

行内样式(style="…")>ID 选择器(#box{…})>类选择器(.con{…})>标签选择器(dic{…})>通用选择器(*{…})继承

行内样式(1000)>ID选择器(100)>类选择器(10)>标签选择器(1)>通用选择器(0)继承

注意: !important 规则时,此声明将覆盖任何其他声明

                 选择器                     简单权重                   规范权重

                !important    慎用!!!

                行内样式style           1000                        (1,0,0,0)

                id选择器                    100                         (0,1,0,0)

                类选择器                   10                          (0,0,1,0)

                标签选择器                1                           (0,0,0,1)

                通配符选择器 继承     0                          (0,0,0,0)      

      比较优先级时,把所有的选择器权重相加,在同量级下,相加的和越大的,优先级越高

      注意:权重相加的和,不会越级进位

                    11个div {}  1+1+1+..+1=11

                    .three {}   10          不能越级,所以仍然是类选择器被应用

3.层叠

选择器优先级相同时,靠下面的选择器中设置的样式被优先应用

3.选择器

id选择器 #p{}      类选择器 .p{}         标签选择器 p{}       通配符选择器* {}        

属性选择器       [标签的属性名]         [属性名='属性值']

选择器关系

后代选择器        祖先选择器a    后代选择器b {}

子代选择器         父亲选择器a > 儿子选择器b {}

并集选择器        选择器1,选择器2 {}

伪类 

- 用于处于特定状态的元素的类(伪的,不是真的写在class里的类)

伪类         标签名:伪类 {}

        p:first-child

                - 找到作为第一个子元素的p元素。这个元素必须是父元素的第一个元素样式才会生效

                - 不区分子元素的类型,在所有子元素中绝对第一

          p:first-of-type

                -找到同类子元素中的第一个

                - 区分类型,在所有p中相对第一

4、文档流

1.- 网页是一个层叠的结构

        - 最下面一层就是文档流(相当于Word文档的空白页面)

            我们创建的元素,默认是在文档流中排列

2.元素在文档流中的特点 (显示模式)

            块元素

                - 独占一行,自上而下垂直排列

                - 默认高度是它内容的高度(子元素撑起的高度),默认宽度是父元素的宽度(占满父元素)

                - 设置width和height有效

            行内元素

                - 不独占一行,只占自身的大小,在页面中水平排列,超出一行,自动换行

                - 默认高度和宽度都是内容本身的宽高

                - 设置width和height无效!

            行内块元素

                - 不独占一行,只占自身的大小,在页面中水平排列,超出一行,自动换行

                - 默认高度和宽度都是内容本身的宽高

                - 设置width和height有效!

3.元素的显示模式转换

        display设置元素的显示模式

                    block 以块元素的特点显示

                    inline-block 行内块元素

                    inline  行内元素

                    none 让元素从文档流中消失

5、盒子模型

        盒模型

                - 元素都是一个个透明的盒子,可以用CSS来设置它的样式

            组成部分

  •                 - 内容区域  元素的内容部分,包括设置的宽高
  •                 - padding  内边距 内容区域和边框之间的距离
  •                 - border   元素的外边框
  •                 - margin   元素与元素之间的距离
  •                 内容区域、padding、border共同组成元素的可见区域
  •                 margin是透明的不可见

        1. 块元素的水平布局

                    块元素在父元素中,水平布局要满足下面的等式

                    子元素的margin-left + margin-right + border-left + border-right +

                            padding-left + padding-right + width  = 它父元素的宽度

                    如果这个等式不成立,成为过度约束,浏览器自动调整这几个属性值,使等式成立

                    width (默认值auto)  margin-left  margin-right

                    这几个值,谁是auto就调整谁,都不是auto,就自动调整margin-right

                    设置某元素在父元素中水平居中

                    1.设置一个宽度:width: XXpx;

                    2.设置margin: 任意值 auto;

            2.块元素的垂直布局

                - 默认情况元素的高度由子元素撑起

                - 设置了height,上下边框,上下内边距,高度就是这几个组成

                - 如果子元素的高度大于父元素,则子元素溢出

              处理溢出的方法 overflow

             属性值: visible 直接显示子元素溢出的部分 (默认值)

                            auto 根据溢出情况自动判断是否添加滚动条

                            scroll 为元素添加水平和垂直滚动条

                           hidden 直接剪切掉子元素溢出的部分

                     

              3.外边距的折叠

                1.没有间隔的祖先和后代元素之间

                    子元素和父元素的上外边距重合成了一个,

                    设置其中一个的上外边距,会传递给另一个,导致布局发生问题

                    选择值较大的一个来作为上外边距

                    解决问题 :添加间隔

                        - 为子元素或父元素添加border

                            border: 1px solid transparent;

                        - 父元素添加overflow

                            overflow: hidden;

     <style>
         .box1 {
            width: 300px;
            height: 300px;
            background-color: aquamarine;
            overflow: hidden;
            margin-top: 100px;
        }
        .box2 {
            width: 200px;
            height: 600px;
            background-color: rgb(255, 210, 127);
            margin-top: 200px;
        }
    </style>
 
 
    <body>
        <div class="box1">
            <div class="box2"></div>
        </div>
    </body>

6、浮动

 float 浮动 

 - 作用:让元素在父元素中,向左或者向右移动

 - 属性值

  •                     none 元素不浮动 (默认)
  •                     left 左浮动
  •                     right 右浮动

 - 特点

  • 1.设置了浮动的元素会脱离文档流,它后面没有设置浮动的元素会移上去占掉它的位置,表现为重叠
  •  2.设置浮动的元素都在同一层级,仍然按HTML中的顺序排列,后面的不会超过前面的,现在水平排列
  • 3.如果浮动的元素前面的元素,没有设置浮动,这个元素不会越过前面不浮动的元素,而是在原本位置左右移动
  • 4.浮动元素不会盖住文字,文字会自动环绕浮动元

  - 脱离了文档流的元素的特点

  1. 默认的宽高是内容本身的宽高
  2. 元素会水平排列
  3. 设置width和height有效

总之,变成行内块元素了!!!

clear 清除浮动

-left        -right        -both

 /* 
        这段代码可以解决高度坍塌问题和外边距折叠问题
 */
        .clearfix::before,
        .clearfix::after {
            content: '';
            clear: both;
            display: table;
        }

7、定位 position

                - 作用:设置当前元素在页面中的位置

                - 属性值

                absolute    绝对定位

                 1.设置相对定位的元素,会提升一个层级,可能覆盖其他的元素

                 2.设置相对定位的元素,并没有脱离文档流,它下边的元素不会移上去占它的位置

                    这个元素的显示模式没有发生变化,没有变成行内块

                 3.开启相对定位的元素是相对谁定位呢?

                    相对于当前元素原本在文档流中的位置来定位的

                relative    相对定位

                    1.设置了绝对定位的元素会脱离文档流,它的显示模式变成行内块元素

                    2.设置绝对定位会提升元素的层级,会覆盖文档流中的其他元素

                    3.绝对定位是参照什么定位呢?

                        相对于离它最近的开启了定位的祖先元素来定位

                        如果没有开启了定位的祖先元素,则相对于html定位

                fixed    固定定位

                        1.固定定位是相对于浏览器视窗定位

                        2.设置了固定定位的元素会固定在设置的位置上,页面滚动时,它也不移动

元素的层级 z-index

属性值是一个整数,值越大,层级越高,能够覆盖其他元素

注意:1.设置了定位的元素层级比设置z-index最高级的还有高

           2.无论父元素设置层级多高,都不会覆盖子元素


三、JavaScript

JavaScript简称为JS,是由网景(netScape)推出的脚本语言

            是一门轻量级,弱类型,面向对象的解释型脚本语言

            弱类型 没有数据类型限制,声明变量时不需要指定数据类型

            解释型 不需要预先编译,边解释边运行,浏览器就是一个解释器

            脚本(Script) 一系列的指令

        JS的作用

            HTML用于定义页面中的内容

            CSS用于设置内容的样式

            JS用来控制HTML元素的行为

                        在页面中动态嵌入HTML元素

                        可操作浏览器

                        可以和用户数据交互

        JS的组成

            1.ECMAScript 语法

                简称ES,是JS的语法规范

                比如数据类型,流程控制语句等

            2.DOM (Document Object Model) 文档对象模型

                这里的文档指HTML页面

                可以通过DOM控制页面中的元素

            3.BOM (Browser Object Model) 浏览器对象模型

                可以通过它控制浏览器的行为

1.输入输出语句

    <script>
        // 弹出警告框
        alert("Hello JS")
        // 在控制台打印输出
        console.log("Hello JS")
        // 在HTML页面中显示输出
        document.write("Hello JS")
        // 弹出输入框
        prompt("请输入你的名字:")
    </script>

2.数据类型

判断变量的数据类型                typeof 变量名

    <script>
        let a = 1
        let b = false //boolean
        let c = '4e-2'

        console.log(a + 'hello')//字符串拼接
        console.log(a + 3)
        console.log(typeof a)//number
        console.log(Number(b))//0
        console.log(String(b))//false
        console.log(typeof null)//Object NULL空指针-》对象
        console.log(typeof undefined)//undefined
        console.log(Number('6h1'))//NaN
        console.log(a / 0)//1/0= Infinity 
        console.log(+c)//+'4e-2'   4e-2科学计数法的数字   4 * 10的负二次方 4*0.01 = 0.04
        console.log(a + '')//字符串拼接 隐式转换为字符串
    </script>
  • 基本数据类型(值类型):                                                                                                       字符串(String)、数字(Number)、布尔(Boolean)、空(Null)、                                 未定义(Undefined)、Symbol;
  • 引用数据类型:对象(Object)、数组(Array)、函数(Function)。

String 字符串

                - JS中用"" 或者'' 表示字符串

                - 如果要嵌套使用引号,外双内单 或者外单内双

                - 转义字符 \

                    \"  转义双引号

                    \\ 转义单斜杠

                    \n 换行符

        -模板字符串     `${变量名}`      

                          - 支持嵌入变量

                          -支持换行

-String 转换为其他类型

                - 转换为布尔        Boolean()

                    空字符串'' -> false  其他的为true

                - 转换为数值        Number()

                    "111" -> 111                不是数值类型的 -》 NaN

                   在数字类型的字符串前面添加正号(+),可以隐式地将这个字符串转换为数字

                    +"数字" -》数字

Number 数值

- 整数、小数

- 特殊值         NaN (Not a Number) 非法数

                       Infinity 无限大的数字 无穷

-Number转换为其他类型

                - 转换为布尔        Boolean(变量)

                    0 -》false   非0数值 -》 true

                - 转换为字符串        String()

3.运算符

++x自增运算符将 x 加 1,然后返回 x 的值
x++自增运算符返回 x 的值,然后再将 x 加 1

==等于x == y 表示如果 x 等于 y,则为真
===全等x === y 表示如果 x 等于 y,并且 x 和 y 的类型也相同,则为真

运算符优先级顺序:

            1.()

            2.单目运算符 !        ++         --

            3.算术运算符 *         /         %         +         -

            4.关系运算符  >         <         >=         <=         ==         !==         ===         !==

            5.逻辑运算符   &&         ||

            6.条件运算符

            7.赋值运算符

4.循环

while 和 do - while

先判断再运行:

while (条件表达式) {
    // 要执行的代码
}

 先运行后判断:

do {
    // 需要执行的代码
} while (条件表达式);

 1.do while 循环的末尾需要使用分号;进行结尾

2. do while 能保证循环体至少执行一次

for-in遍历

                    for(index in list){

                        list[index]     // 要执行的代码

                    }

1.在for循环中用let声明的变量,只能在for循环内部访问,在for循环外面访问会报错,未定义

2.在for循环中用var声明的变量,在for循环内部和外部都能访问

break 和 continue

break 语句用来跳出整个循环,执行循环后面的代码;

continue 语句用来跳过当次循环,继续执行下次循环。

冒泡排序

    <script>        
        function sort(arr) {
            for (let i = 0; i < arr.length; i++) {//外层循环决定排序的次数
                for (let j = 0; j < arr.length - 1 - i; j++) {
                    //-i:每一轮结束后都拍好了i个数,不需要再参与比较
                    //如果后一个数小于前一个就交换两者的位置
                    if (arr[j] > arr[j + 1]) {
                        let t = arr[j];
                        arr[j] = arr[j + 1];
                        arr[j + 1] = t;
                    }
                }
                console.log("第" + i + "轮:" + arr);
            }
        }
        let arr = [9, 1, 3, 2, 8, 0, 5, 7, 6, 4];
        sort(arr)
        console.log(arr);
    </script>

5.js内置函数

1.Array        数组

是一种复合数据类型,在数组中可以存储多个不同类型的数据

创建数组的方式:

1.通过new关键字

                    var 数组名 = new Array(数组大小)

2.通过[]创建

                    var 数组名 = []//创建空数组

3.声明的同时赋值

                    var 数组名 = new Array(元素1, 元素2,...);

                    var 数组名 = [元素1, 元素2,...]

注意:1.赋值时超出索引,会自动扩容

          2. 数组名.length 这个属性是可以更改值的,如果我们给它赋值,数组的长度会发生改变

        var list = new Array(5)

        list[0] = 12;

        list[2] = "hello";

        list[3] = true;

        list[4] = undefined;

        console.log(list);//[12, 空, 'hello', true, undefined]

        list[6] = 111;

        console.log(list[6]);//如果赋值时超出索引,会自动扩容

        var list3 = ["hello", 222, 333]

        list3.length = 2//改变了数组的长度

        console.log(list3);        //"hello",222

        console.log("list3的长度:", list3.length);        //2

数组的常用方法 

push 向数组的末尾添加一个或多个成员

            参数:被添加的新数组成员

            返回值:新的数组长度

            操作会改变原数组

pop 删除并返回数组的最后一个成员

            返回值是被删除的这个成员

            操作会改变原数组

unshift 向数组的开头添加一个或多个成员

             参数:被添加的新数组成员

             返回值:新的数组长度

             操作会改变原数组

shift 删除并返回数组的第一个成员

             返回值是被删除的这个成员

             操作会改变原数组

splice 删除指定位置的成员,并用新成员替换,或插入新成员到指定成员的前面

             第一个参数:删除成员的起始位置

             第二个参数:删除成员的个数

             第三个参数:用于替换被删除成员的新数据,该参数可以省略

             返回值: 被删除的成员数组

             会改变原数组

 更多详细:

Array - JavaScript | MDN (mozilla.org)

 2.Math

    <script>
        console.log(Math.PI);//3.141592653589793
        console.log(Math.E);//2.718281828459045
        //求绝对值
        console.log(Math.abs(-5));//5
        //求x的y次幂
        console.log(Math.pow(2, 3));//2的三次方,8
        //求两个数之间的最大值
        console.log(Math.max(3, 5));
        //向上取整
        console.log(Math.ceil(3.1));//4
        //向下取整
        console.log(Math.floor(3.1));//3
        //四舍五入
        console.log(Math.round(3.6));//4
        //求平方根
        console.log(Math.sqrt(4));//4的平方根
        //求立方根
        console.log(Math.cbrt(64));//4
        //生成[0,1)范围内的随机数
        console.log(Math.random());
        //生成[0,100)范围内的随机数
        console.log(Math.random() * 100);
        //生成[3,10)范围内的随机数
        console.log(Math.random() * 7 + 3);
        //生成[a,b)范围内的随机数
        // Math.random() *Math.abs(b-a) + Math.min(a,b)
    </script>

1.对象

1.使用{}直接创建

                    let 对象名 = {

                        属性名:属性值;

                        方法名() {

                            //代码块

                        }

                    }

属性和方法的调用

                对象名.属性名

                对象名.方法名()

在方法中可以通过this关键字访问当前对象的属性,this指向的是调用当前方法的对象

2.使用new Object创建

                    添加属性

                        对象名.属性名 = 属性值

属性的其他写法

                    1.带有特殊字符或空格的属性名,要用["属性名"]设置和读取

                    2.属性可以是任何类型的数据,比如数组,对象

对象序列化           将对象转换为一个字符串, 这个字符串就称为JSON字符串

            注意:JSON字符串的属性名必须有双引号引起来

            JSON.stringify(obj)将obj对象转换为json字符串

            JSON.parse(json) 将json字符串转换为对象

2.函数

函数声明方法:

function 函数名(参数列表){

                        //代码块

                    }

                    调用函数:函数名(实参列表)

返回值:

  •                         函数返回的结果成为返回值,函数默认返回undefined
  •                         可以通过return自己定义函数的返回值
  •                         可以返回任何类型的数据:字符串,数字,函数,对象
  •                         return还会终止函数内后续代码块的执行

2.函数的表达式

                let 变量名 = function(形参列表){}

                调用函数:变量名(实参列表)

3.箭头函数

                (形参列表) => {

                    //代码块

                }

                只有一个形参的时候可以省略小括号

 4.自调用函数

let res = ((x, y) => x + y)(2, 3)//调用函数了

res = (

            function (x, y) {

                return x + y;

            }

        )(3, 5)

        console.log(res);//函数返回的结果:5


 三 - 一 DOM和BOM

DOM

        DOM  Document Object Model  文档对象模型

            - Document 文档,这里指整个网页html

            - Object   DOM将整个网页都抽象转换为了对象

                        div有div对象,input有input对象,属性、文本都有对应的对象

                        对他们进行操作的时候,就是通过他们的对象来完成的

            - Model  模型是指文档中个对象之间的关系 比如父子关系,兄弟关系

                    DOM树

            :nth-of-type(1)
                找到父元素下,所有同类型标签中的第一个
                同类型标签 p标签\div标签\em标签\ul标签 他们之间分别是不同类型
                        所有的p标签是一个类型,所有的div标签是同一个类型....
                排序: 在同类型标签中排序, 它占第一位
                先将父元素中的标签分类, 再将每个类型的标签都排序,然后分别获取同类型标签中的第一个

            :nth-child(1)
                找到父元素下, 所有子元素中的第一位(不分类)
                排序: 将所有子元素都进行排序

            .box:nth-of-type(1) 
                .box 和 :nth-of-type(1) 的交集
                同时满足下列条件,才会选中元素
                1.标签带有.box类名
                2.这个标签必须是其父元素下,同类型标签中第一个元素
             
            body div 中间有空格 后代选择器 
                会选中 body下所有div 包括儿子,孙子...
                一般用于缩小选择范围


            body :nth-child(1)  
                    会选中body下 第一个子元素

            div.box.test 中间没有空格 交集选择器
                必须同时满足几个选择器的条件

        .box.test {
            width: 200px;
            height: 200px;
            background-color: rgb(218, 215, 250);
        }

        /* 没有空格 =》交集 同时满足下面3个条件
            1.标签有.box这个类
            2.标签有.test这个类
            3.对应标签在它的同类标签中是第一个
        */

/*

            常用document对象调用各种方法来获取页面中的节点对象

            querySelector("选择器名称")

                document.querySelector("选择器")

                根据选择器去整个页面获取 第一个符合条件的 元素节点对象

                注意:返回第一个元素

        */

/*

            获取和修改元素中的文本

                获取: 元素对象.innerHTML

                修改: 元素对象.innerHTML = '新的文本内容'

                    innerHTML允许直接插入HTML标签, 可用于添加新的标签

                    (有xss注入风险,被篡改插入非法的html代码)

                    textContent也可以获取和修改文本,但是对于有标签的,会把标原样输出

               

        */

        /*

            querySelectorAll('选择器名')

                根据选择器去获取整个页面中符合条件的 所有 元素

                返回一个符合条件的元素数组

                可以通过索引访问每一个数组元素,对里面的节点对象进行修改

                数组名[索引]

        */

定时器

                在JS中定时器就是一种函数,这种函数可以设置在指定时间后触发一段代码

                1.setTimeout(要执行的函数,延迟的时长(单位:ms));

                    返回值:计时器对应的编号id

                    停止定时器

                    clearTimeout(timerId)

            2.循环计时器

                setInterval(要执行的函数,每次循环间隔的时间)

                停止计时器

                clearInterval(计时器编号)

    <script>
        //以下下练习都要求返回jquery对象

        //得到id为test的标签下,所有后代元素
        console.log($('#test *'));
       
        //得到id为test的标签下,含有p2的后代元素
        console.log($('#test .p2'));
        
        //得到id为test的标签下,所有p标签直接子元素(单指第一层)
        console.log($('#test>p'));
        
        //得到id为p1标签的下一个相邻兄弟(不管类型)
        console.log($('#p1+*'));
        
        //得到id为p1标签的所有类型为div的同级兄弟
        console.log($('#p1~div'));
        
    </script>

BOM 

BOM 浏览器对象模型

                - BOM为我们提供了一组对象,通过这组对象可以完成对浏览器的各种操作

                - 常见的BOM对象

                    window   代表浏览器窗口,是全局对象

                    navigator   代表浏览器对象,可用于识别浏览器

                    Location  浏览器的地址栏信息

                    History 浏览器的历史纪录(控制浏览器的前进和后退)

                    screen 屏幕的信息

               

                - BOM对象对象都是作为window对象的属性保存的,可以直接在js中访问

                    window的相关属性和方法,调用时可以省略window这个词

三 - 二 jQuery

参考文档 https://www.jquery123.com/

jquery的引入

在使用jQuery前,必须先引入jQuery的js文件

            压缩版  min.js 通常在开发中使用

            未压缩版    .js

        引入的js文件必须在自定义的脚本文件之前

引入jQuery库,就是向这个网页添加了一个函数jQuery/$

                $是jQuery的核心函数,jQuery的所有功能都是通过这个函数进行的

通过$获取jQuery对象        $('选择器名称')

 jQuery对象实际上是个数组(类似数组,可以用索引访问里面的数组元素)

                            这个数组元素就是DOM对象

 访问方式

         1.索引  

         2.get方法

 dom对象转换为jQuery对象

             将dom对象作为参数出入$函数中

             $(domObj)

    <script>
        //js中获取dom对象
        let boxObj = document.getElementsByClassName('box')[0]
        //通过$获取jQuery对象
        let $boxs = $('.box')
        console.log($boxs);//jQuery对象 》 数组(类似数组,可以用索引访问里面的数组元素)

        //获取jQuery对象中的DOM对象
        console.log($boxs[0]);
        console.log($boxs[1]);

        //通过get方法获取dom对象
        console.log($boxs.get(0));
        //dom对象转换为jQuery对象
        let $box = $(boxObj)
        console.log($box)

        //eq(index)函数     
        console.log($boxs.eq(0));
    </script>

 jquery设置样式

<script>
        let $boxs = $('div')
        //css函数读取样式       读取jQuery对象中的第一个dom元素的属性值
        console.log($boxs.css('width'));
        console.log($boxs.css('height'));
        //可以传入一个样式名数组
        console.log($boxs.css(['width', 'height']));

        //css函数设置样式       为jquery对象中的所有dom元素都设置上样式
        $boxs.css('background-color', 'orange')
        $boxs.css('background-color', function (index, value) {
            //index 当前数组成员的索引
            console.log('index', index);
            //value 当前数组成员对应的background-color的属性值
            console.log('value', value);
            //返回值 新的属性值
            return index % 2 === 0 ? 'green' : 'red';
        })
    </script>

jquery操作类

<body>
    <div class="box active"></div>
    <div class="box active box2"></div>

    <script src="./js/jquery-3.6.3.js"></script>
    <script>
        /*
            当我们修改jQuery对象时,它会自动修改jQuery对象中所有元素
            这个现象称为jQuery的隐式迭代
        */
        let $boxs = $('.box')

        //添加类
        $boxs.addClass('box2')
        //删除类
        $boxs.removeClass('active')
        //开关类   有就删除,没有就添加
        $boxs.toggleClass('box3')
        //判断是否存在某个类
        $boxs.hasClass('box3')
        console.log($boxs.hasClass('box3'));
    </script>
</body>

jquery设置属性

<body>
    <div class="box active" my-box="hhh"></div>
    <div class="box active box2"></div>
    <input type="text" value="111" disabled>

    <script src="./js/jquery-3.6.3.js"></script>
    <script>
        let $boxs = $('.box')
        //读取属性  读取jquery中的第一个元素的属性值
        console.log($boxs.attr('class'));
        //读取自定义属性 
        console.log($boxs.attr('my-box'));

        let $input = $('input')
        //设置属性
        $input.attr('value', '222')
        //js设置属性
        // $input[0].disabled = true //禁用
        // $input[0].disabled = false //可用
        // $input[0].setAttribute('disabled',false)

        //jQuery设置
        $input.attr('disabled', false)

        //删除属性
        $boxs.removeAttr('my-box')
    </script>
</body>

 jquery事件绑定

jQuery对象绑定事件,直接调用事件名称对应的函数

参数就是事件处理函数

注意:  jquery对象是一个dom元素集合,为jquery对象绑定事件时,会自动给里面的所有dom对象绑定上事件。 不需要用for循环再遍历它单独为每个dom添加事件,除非你只想给某一个添加事件

    <script>

        //手动触发事件  调用事件函数
        $box.click()

        /*
            使用on函数绑定事件
                on('事件名称','事件处理函数')
        */
       //1.声明事件处理函数
        function click1(event){
            //event事件对象,它是在触发事件时,浏览器生成的事件对象
            console.log(event);
            console.log('click1');
        }
        //2.给jquery对象绑定事件
        $box.on('click',click1)

        /*
            使用off函数解绑事件
            
        */
        $box.off('click',click1)
        //不写第二个参数,会解绑事件对应的所有函数
        $box.off('click')

        /*
            使用one函数可以让绑定的事件只触发一次
        */
        $box.one('click',function(){
            console.log('one click');
        })

    </script>

jquery常用表单事件

//获取焦点  (输入框有光标)

        $('input').focus(()=>{

            // console.log('获取到焦点了');

        })

//失去焦点

        $('input').blur(()=>{

            // console.log('失去焦点了');

        })

jquery增删节点

        //创建元素jquery对象

        let $box = $(`<div class='box box1'></div>`)

        console.log($box);

        //获取body的jquery对象  

        let $body = $(document.body)

        //向父元素内追加一个子元素  谁要添加谁

        // $body.append($box)//末尾添加

        // $body.prepend($box)//头部添加

        let $box1 = $(`<div class='box box1'></div>`)

        //将子元素追加到父元素末尾

        // $box.appendTo($body)//添加到末尾

        // $box1.prependTo($body)//添加到开头

        //body>.box:nth-child(2) 获取body下的第二个div 并且这个div有box类

        let $box2 = $('body>.box:nth-child(2)')

        //在一个元素的后面添加另一个元素

        // $box2.after($box1)

        //在一个元素前面添加

        // $box2.before($box1)

        //删除当前元素   谁调用了remove(),谁就被删除了

        $box2.remove()

jquery过滤选择器

//----子元素过滤器---//

                seletor:nth-child(n)

                    1.找到当前元素的父元素下,第n个孩子

                    2.判断这个孩子是否匹配seletor选择器

                    如果匹配就选择它,应用样式,

                    如果不匹配就不选择它,这个伪类选择器失效(什么也没选中)

                    当前元素:所有匹配seletor选择器的元素

                    按照子元素在文档中出现的位置排序,从1开始

                    seletor:标签名、类名、id名、*

                    :nth-child(n) 等同于 *:nth-child(n)

//----索引过滤器---//

        /*selector:eq(index)

            在匹配的集合中选择索引值为index的元素,索引从0开始

            匹配的集合:$('seletor')获取到的dom元素集合

            这个jquery扩展出来的选择器,性能没有原生的css选择器好

            推荐:eq()方法

            同类的

            :even  偶数索引     :odd    奇数索引

            :gt(index)  大于index的索引     :lt(index)   小于index的索引

        */

//----表单过滤器---//

            :checked

                匹配所有勾选的元素

                只适用于复选框和单选按钮   下拉菜单:selected


总结

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 根据所提供的华清远见-c0rtexas9资料路径,在实验中涉及到了Linux系统标准IO的应用实验。Linux系统标准IO是指Linux操作系统提供的一套标准化的IO库,可以用于操作文件、输入输出等。以下是对该实验的简单描述: 这个实验主要是关于Linux系统标准IO的应用实验。在该实验中,我们可以找到程序的源代码,该源代码是用Linux应用程序的方式编写的。通过这个实验,我们可以了解和学习Linux系统标准IO的基本操作和使用方法。 Linux系统标准IO是一套非常强大和灵活的IO库,提供了一系列的函数和方法来操作文件和进行输入输出。在实验源码中,我们可以看到一些常见的标准IO函数,比如fopen、fclose、fprintf和fscanf等。 通过这些函数,我们可以打开和关闭文件,从文件读取数据或向文件写入数据。实验源码中包含了一些常见的操作,比如读取文件、写入文件、复制文件和查找文件等。通过实验,我们可以了解到如何使用这些函数来完成不同的操作。 此外,在实验源码中可能还会涉及到一些其他的Linux系统标准IO相关的知识点,比如文件指针、文件描述符和文件流等。这些知识点对于理解和使用Linux系统标准IO函数非常重要。 通过实验中提供的源代码,我们可以进行相应的实验操作,从而更好地理解和学习Linux系统标准IO的使用。同时,我们也可以通过对实验源码的分析和调试,更深入地了解Linux系统标准IO的内部工作原理。 总之,通过这个实验,我们可以掌握Linux系统标准IO的基本操作和使用方法,从而提高我们在Linux系统中进行文件操作和输入输出的能力。 ### 回答2: 华清远见(英文名称为Far Infrared Technologies International Limited)是一家专注于红外光学技术研发及应用的企业。该公司的产品主要应用于安防监控、无人机、机器人、智能家居等领域。 关于"06. linux系统标准io实验"的实验资料包括了程序源码。在Linux操作系统中,标准I/O(Input/Output)库是用于进行文件读写和输入输出操作的一套API(Application Programming Interface)。标准I/O库提供了一系列函数,包括文件打开、读取、写入、关闭等操作,方便开发人员进行文件操作和输入输出。 这份实验资料中的源码,应该是用于展示和实践Linux系统标准I/O库的使用方法和技巧。通过编译和运行这些源码,可以了解如何使用标准I/O库来进行文件的读写和输入输出操作,包括打开文件、读取文件内容、写入文件等。 这些实验源码可以作为学习和实践Linux系统标准I/O库的参考资料。通过实际操作,可以加深对标准I/O库的理解和掌握,提高在Linux环境下进行文件操作和输入输出的能力。 总之,"06. linux系统标准io实验"的实验资料中的程序源码是用于学习和实践Linux系统标准I/O库的使用方法,通过编译和运行这些源码,可以加深对标准I/O库的理解和掌握,提高在Linux环境下进行文件操作和输入输出的能力。 ### 回答3: 华清远见-c0rtexa9资料中的程序源码目录为\linux应用实验源码\06. linux系统标准io实验\。这个实验中包含了一些关于Linux系统标准输入输出的代码示例。 在Linux中,标准输入输出是三个预先定义好的文件描述符,分别是0(stdin),1(stdout),2(stderr)。这些文件描述符与输入输出设备关联,比如键盘和屏幕。使用标准输入输出可以实现用户与程序之间的交互以及程序的输出显示。 在实验源码中,我们可以看到许多用于标准输入输出的函数,包括printf、scanf、getchar、putchar等。这些函数可以帮助我们进行输入输出操作。 在实验中,我们可以通过这些代码示例学习如何从标准输入读取用户输入,如何向标准输出显示结果。例如,可以使用scanf函数读取用户输入的数据,使用printf函数将处理结果输出显示。 通过实验中的代码示例,我们可以学习到如何处理标准输入输出的错误,如何进行格式化输入输出,如何使用缓冲区进行高效的输入输出等。 总之,华清远见-c0rtexa9资料中的\linux应用实验源码\06. linux系统标准io实验\中包含了一些关于Linux系统标准输入输出的代码示例,通过这些示例我们可以学习到如何进行标准输入输出操作,以及一些与之相关的技巧和注意事项。这对于学习Linux系统编程和开发应用程序非常有帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值