Jquery

Jquery

1.Jquery 的定义

简单来说,jQuery是一个小巧,功能丰富的 js 库存

2. Jquery 的基本使用

2.1引入jQuery文件**

2.2写 一个入口函数**

2.3找到你要操作的元素(jQuery选择器),去操作它(给他添加属性,样式,文本)

3.入口函数的两种种写法

  1. $(document).ready(function(){})
  2. $(function(){}) //常用写法

4.window.onload = function(){} 与 $(function(){}) 的执行顺序先后

​ 3.4.1版本之前都是 $(function(){}) 先执行,在3.4.1后 window.onload = function(){}先执行

5.$是一个函数

1.jquery文件结构

( function(){ window.jQuery = window.$ = jQuery; } () ); 一个自动执行函数

2.js文件执行过程

  • 引入一个js 文件,会执行这个文件中的代码

  • jQuery文件是一个自执行函数,执行这个jQuery文件中的代码就是执行这个自执行函数

  • 这个自执行文件就是给window对象添加一个jQuery属性和$属性

    3.$是一个函数

1. 如果参数传递的是一个匿名函数——入口函数

$(function(){});

​ **2. **如果参数传递的是一个字符串—选择器/创建一个标签

$(’#one’)

$(‘

啦啦啦啦
’)

​ **3. **如果参数传递的是一个dom对象,那么它会把dom对象转化为jQuery对象

1. dom对象

​ 原生js获取到的对象,特点是:只能调用dom方法和属性,不能调用jQuery的方法和属性

var div1 = document.getElementById('one');

div1.style.backgroundColor = 'red'// 正常调用dom属性

div1.css('backgroundColor','green') ,//报错 因为不能调用jQuery的方法和属性

2.jQuery对象

​ 利用jQuery选择器获取到的对象,特点: 只能调用jquer方法和属性,不能调用dom的方法和属性

var $div1 = $('#one')

$div1.css('backgroundColor','green') ;//正常

$div1.style.backgroundColor = 'red' //报错 因为不能调用dom对象的属性

3.jQuery对象是什么样子的?

​ 首先jQuery对象是一个伪数组,jQuery对象其实就是dom对象的一个包装集

4.dom对象转化为jQuery对象

$(dom对象)

5. jQuery对象转化为dom对象

5.1使用下标取出来

var $divs = $('div'); //jQuery对象

var div1 = $divs[0]; //dom对象

5.2使用jQuery的方法 get(index);

var div2 = $divs.get(1)

6.jQuery对象的方法

6.1 text() 方法

获取文本: text() 方法不给参数;会获取标签中的所有文本,包括后代元素的文本

设置文本:text(‘我是新设置的文本’) ; 设置的文本会覆盖原来的文本信息,如果设置的文本包含标签不会解析

​ 如果jQuery对象 里面包含多个dom元素,所有dom元素的文本都会被新设置的文本覆盖

6.2 css() 方法

​ **获取样式:css(‘样式名’) **css(‘width’) //结果 200px css(‘border’) //结果 2px solid rgb(255,0,0)

​ **注意:**获取包含了多个dom元素的jQuery对象的样式,只能获取到第一个dom对象的样式

**设置样式:**   css(样式名,样式值)

6.2.1设置单样式( css(样式名,样式值) )

$('#div1').css('width','300px')

$('#div1').css('backgroundColor','red')

6.2.2设置多样式( css({}) )

  $('#div1').css({
                    width:300,                  

   					height:'400px',

					backgroundColor:'green' })

7.jQuery的基本选择器

名称用法描述
ID选择器$(’#id’)获取指定ID的元素
类选择器$(’.class’)获取同一类class的元素
标签选择器$(‘div’)获取同一类标签的元素
并集选择器$(‘div,p,li’)使用逗号分隔,只要符合条件之一即可
交集选择器$(‘div.redClass’)获取类名为redClass的div元素

7.2jQuery过滤选择器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VvwbJ3kX-1610593939755)(D:\D盘存放\md笔记\Jquery\lALPDgtYvN76vTXNAdvNBUM_1347_475.png_720x720q90g.jpg)]

7.3jQuery筛选选择器(方法)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Hczt5rNu-1610593939758)(D:\D盘存放\md笔记\Jquery\lALPDiQ3M2BpE2rNAkPNBUE_1345_579.png_720x720q90g.jpg)]

8.鼠标事件

mouseover 事件在鼠标移动到选取的元素及其子元素时触发

mouseenter 事件只在鼠标移动到选取的元素时触发

moustout 事件在鼠标离开时触发

9.class类操作

**9.1添加类 addClass(类名)**

$('#div1').addClass('class01') //添加单个类 class01

$('#div1').addClass('class01 class02') //添加多个类 class01 class02 (中间用空格隔开)

9.2移除类 removeClass(类名)

$('#div1').removeClass('class01') //删除单个类 class01

$('#div1').removeClass('class01 class02') //删除多个类 class01 class02 (中间用空格隔开)

$('#div1').removeClass() //删除所有类

9.3判断类 hasClass()

$('#div1').hasClass('class01') //判断一个元素有没有这个类,有就返回true,没有则为false

9.4切换类 toggleClass()

$('#div1').toggleClass('class01') //如果元素有这个类则移除这个类,没有这个类则添加这个类

10.jquery动画

**10.1 show() 显示方法**

​ 参数1:代表执行动画的时长,毫秒值,也可以是时长字符串 fast(200ms),normal(400ms), slow(600ms) 例:show(2000)

​ 参数2:动画执行完毕之后的回调函数 例子: show(2000, function(){} )

10.2hide() 隐藏方法

​ 参数1:代表执行动画的时长,毫秒值 例子:hide(2000)

​ 参数2:动画执行完毕之后的回调函数 例子:hide(2000, function(){} )

10.3toggle()方法

​ 注意:如果元素是隐藏状态就动画显示,如果是显示状态就动画隐藏

10.4 slideDown() 滑下来

​ 参数:与show() 相同

10.5 slideUp() 滑上去

​ 参数:与show() 相同

10.6 slideToggle() 切换

​ 注意:如果元素是隐藏状态就滑下来,如果是显示状态就滑上去

   **10.7 fadeIn() 淡入**

10.8 fadeOut() 淡出

10.9 fadeToggle() 切换

10.10 fadeTo() 到什么状态

​ 例子:fageTo( 1000, 0.5 ) //0.5表示opacity

11.自定义动画 animate()

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-I7MvkrEn-1610593939760)(D:\D盘存放\md笔记\Jquery\lALPDgQ9v5VxUZ_NATfNBJc_1175_311.png_720x720q90g.jpg)]

11.2 stop() 停止动画

​ 参数1:是否清除队列

​ 参数2:是否跳转到最终结果

例子: $(’#div1’).stop( true, true ) 默认 stop(false,false)

12.动态创建元素

12.1 html(参数) 创建

  • 会把原来的内容覆盖
  • 如果设置的内容包含了标签,会把标签解析出来

12.2 $() 创建元素

可以创建元素,但是元素只存在于内存中,要在页面上显示就要追加

var $link = $('<a href="https://news.baidu.com">新闻</a>')
$('#div1').append($link)  //追加元素

13.添加节点的几种方法

  • append() 方法

    • 父元素.append(子元素) //作为最后一个子元素添加
    • 把ul里面存在的li添加到ul中去,则把原来存在的li剪切后作为最后一个子元素添加
  • prepend() 方法

  • 父元素.prepend(子元素) //作为第一个子元素添加

  • 把ul里面存在的li添加到ul中去,则把原来存在的li剪切后作为第一个子元素添加

  • before() 方法

  • 元素A.before(元素B) // 把元素B插入到元素A的前面,作为兄弟元素添加

  • after() 方法

    • 元素A.before(元素B) // 把元素B插入到元素A的后面,作为兄弟元素添加
  • appendTo() 方法

    • 子元素.appendTo(父元素) //把子元素作为父元素的最后一个子元素添加

14.克隆节点

  • jQuery中克隆节点 clone() 方法

    • 只存在于内存中,要在页面显示就要追加到页面
    • clone() 方法的参数不管是 true 还是 false 都会克隆到后代节点
    • clone() 方法的参数为true表示会把事件一起克隆,false表示不会把事件克隆,没参数默认是false
  • var() 获取表单的值或者设置值

    • 不给参数就是获取值 // val()
    • 传参就是设置值 //val(‘啦啦啦’)

15 jQuery操作属性

  • attr() 方法设置属性

    • 例子:对图片的属性进行设置 $(‘img’).attr( ‘src’, ‘666.gif’) //把原来src的属性值修改
    • $(‘img’).attr( ‘aaa’, ‘888’ ) //如果元素没有这个属性,就是添加属性
  • attr() 方法获取属性

    • $(‘img’).attr( ‘src’) // 获取图片自带的src 属性,也可以获取自定义的属性
  • removeAttr() 方法移除属性

    • $(‘img’).removeAttr( ‘src’) //移除图片自带的src属性

16.操作布尔类型的属性

  • 使用的是prop() 操作
    • 对于checked,selected,disabled,这类Boolean类型的s属性,不能使用attr方法只能使用prop方法

17.jQuery尺寸和位置操作

  • width()方法和height()方法

    • 设置或者获取高度和宽度,不包括内边距和外边距

      $('#div1').height(200)   //设置高度为200
      $('#div1').height()      //获取高度  
      
  • innerWidth() 方法和innerHeight() 方法

  • 返回元素的宽高 ,包括内边距

  • outWidth() 方法和outHeight() 方法

  • 返回元素的宽高 ,包括内边距和边框

  • outWidth(true) 方法和outHeight(true) 方法

  • 返回元素的宽高 ,包括内边距,外边距,边框

  • 获取页面可视区的宽高

  • $(window).width() $(window).height()

  • offset() 方法

    • 获取的是一个对象,里面包含了top和left的值
    • offset方法获取的是元素距离document的位置
  • position() 方法

    • 获取的是一个对象,里面包含了top和left的值
    • position方法获取的是元素距离有定位的父元素的位置
  • scrollTop() 方法和 scrollLeft() 方法

    • 分别表示元素被卷曲出去的高度和宽度
    • 传入参数表示设置元素被卷曲出去的高度和宽度
  • $(window).scrollLeft() $(window).scrollTop()

    • 获取页面被卷曲的宽度和高度

18.事件注册(on 统一了事件注册方式)

  • on注册简单事件
    • 不支持动态注册
$('div').on('click',function(){
	console.log('我是单击事件')
})
  • on 委托注册
    • 支持动态注册
$('body').on('click','div',function(){    // body表示父级元素 (利用事件冒泡上传)
	console.log('单击事件')
})
  • 事件解绑 off()
    • $(’#one’).off() //解绑所以事件
    • $(’#one’).off(‘click’) //解绑指定事件

18.事件注册(on 统一了事件注册方式)

  • on注册简单事件
    • 不支持动态注册
$('div').on('click',function(){
	console.log('我是单击事件')
})
  • on 委托注册
    • 支持动态注册
$('body').on('click','div',function(){    // body表示父级元素 (利用事件冒泡上传)
	console.log('单击事件')
})
  • 事件解绑 off()
    • $(’#one’).off() //解绑所以事件
    • $(’#one’).off(‘click’) //解绑指定事件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值