JS库
简单理解,就是一个JS文件,里面对我们原生JS代码进行了封装,存放到里面,这样我们可以快速高效的使用这些封装好的功能了
jquery的优点
- 轻量级。核心文件才几十kb,不会影响页面加载速度
- 跨浏览器兼容。基本兼容了现在主流的浏览器
- 链式编程、隐式迭代
- 对事件、样式、动画支持,大大简化了DOM操作
- 支持插件扩展开发。有丰富的第三方插件
- 免费,开源
jquery的入口函数
-
方式一:
-
$(document).ready(function() { // 此处是页面DOM元素加载完成的入口 })
-
-
方式二:
-
$(function() { // 此处是页面DOM元素加载完成的入口 });
-
$符号详解
$是jquery的别称$是JQuery的顶级对象,相当于原生JS的window。把元素利用 $ 包装成 jquery对象,就可以调用jquery的方法了
DOM对象和jquery对象
Jquery对象只能使用jQuery方法,DOM对象则使用原生的JS的属性和方法
-
Dom对象
-
用原生JS获取过来的对象就是DOM对象
-
var myDom = document.querySelector('div'); // myDom 就是DOM对象
-
-
jQuery对象
是以伪数组的形式存储的-
jquery方式获取过来的对象,就是jquery对象
-
$('div') // jQuery对象
-
-
本质:
通过 $ 把DOM元素包括起来
DOM对象和jquery之间的相互转换
- DOM对象转换为JQuery对象
$(DOM对象)
- JQuery对象转换为DOM对象
$('div')[index]或者$('div').get(index)
jQuery选择器


隐式迭代(重要)
遍历内部DOM元素(以伪数组形式存储)的过程,称为隐式迭代(简单理解:给匹配到的所有元素进行循环遍历,执行相应的方法,而不用我们再进行循环,简化我们的操作,方便我们调用)
$('div').css('属性','值');
$('div').css('background','red');
链式编程(重要)
$(function(){
$(this).css('color','red');
$(this).siblings().css('color','');
// 链式编程 ==》 对应下面的写法
$(this).css('color','red').siblings().css('color',''); // 我的颜色为红色,我的兄弟的颜色为空
$(this).siblings().css('color','red'); // 我的兄弟的颜色变为红色
})
jQuery样式操作
操作CSS方法
jQuery可以使用css方法来修改简单元素样式,也可以操作类,修改多个样式
-
参数只写属性名,则返回属性值
$(this).css('color'); -
参数是
属性名属性值逗号分隔是设置一组样式,属性必须加引号,值如果是数字可以不用跟单位和引号$(this).css('color','red'); $(this).css('width','300px'); $(this).css('width',300); -
参数可以是对象形式
属性名可以不用带引号,但是如果属性名是复合型式,需要使用驼峰命名法属性值如果不是数字需要用引号$(this).css({ 'color':'white', 'font-size':'20px' }); 或者下面的写法: $(this).css({ color: 'white', fontSize:'20px' });
设置类样式
-
添加类
addClass相当于是追加类名,不影响以前的类名原生JS中className会覆盖元素原先里面的类名$('div').addClass('类名'); -
移除类
$('div').removeClass('类名'); -
切换类
如果有这个类的话添加,没有这个类移除$('div').toggleClass('类名');
jQuery效果
动画队列,及停止动画队列的方法
动画或者效果一旦触发,就会执行,如果多次触发,就造成多个动画或者效果排队执行
停止动画 stop() 谁做动画,写在谁的前面
$(this).children('ul').stop().sildeToggle();
jQuery属性操作
-
设置或者获取元素固有属性值
prop()- 所谓元素固有属性,就是元素本身自带的属性,比如 a 元素里面的 href , input 元素的 type
-
获取属性语法: prop('属性')
-
设置属性语法: prop('属性','属性值')
-
自定义属性: attr()
- 设置自定义属性: attr('属性名','属性值')
类似于原生的setAttributte() - 获取自定义属性: attr('属性名')
getAttributte() - H5的自定义属性: data-xxx=“xxx” 模式
如果要是获取的话 attr('data-xxx')
- 设置自定义属性: attr('属性名','属性值')
-
数据缓存 data() 这个里面的数据是存放在元素的内存里面的,在页面上并不能看到
$('span').data('name','张三'); // 获取方式 console.log($('span').data('name')); // 也可以使用这个方法,获取h5的自定义属性 1.不用写data- 2.返回值是数字型 // data-index console.log($('div').data('index')); // 返回的结果是数字类型的 $('div').attr('data-index'); // 返回的结果是字符串类型的