03 - JQuery - 01.概述

jQuery

概述

JS 库

  • 即 library,一个 JS 文件。里面对原生 js 进行了封装,是一个封装好的特定的集合(方法和函数)。如 动画 animate、hide、show、获取元素等
  • 常见的 JS 库:jQuery、Prototype、YUI、Dojo、Ext JS、移动端的 zepto

jQuery

  • 快速的、简洁的 JS库
  • 设计宗旨:“Write Less, Do More”
  • 封装了 JS 常用的功能代码,优化了 DOM 操作、事件处理、动画设计、Ajax 交互
  • 优点:
    1.轻量级。核心文件几十kb,不会影响页面加载速度
    2.跨浏览器兼容。基本兼容了现在主流的浏览器
    3.链式编程、隐式迭代
    4.对事件、样式、动画 支持,大大简化了 DOM 操作
    5.支持插件扩展开发。有丰富的第三方插件,如树形菜单、日期控件、轮播图等
    6.免费、开源

基本使用

jQuery 的下载

  • 官网地址:https://jquery.com/https://code.jquery.com/https://jquery.com/download/
  • 版本
    1x:兼容 IE678 等低版本浏览器,官网不再更新
    2x:不兼容 IE678 等低版本浏览器,官网不再更新
    3x:不兼容 IE678 等低版本浏览器,是官方主要更新维护的版本
  • production vs development
    production jQuery【代码被压缩过】【实际开发中使用】
    development jQuery【代码未被压缩过】

jQuery 的使用步骤

  • 步骤
    1.引入 jQuery 文件【复制】
    2.使用即可【新建、粘贴】
  • 注意事项
    原生 js / js 库中,script 都得写在 DOM 元素下面
    jQuery 常用双引号 ""

jQuery 的入口函数

  • $(function() { // 此处是页面 DOM 加载完成的入口 })【推荐】
    $(document).ready(function() { // 此处是页面 DOM 加载完成的入口 })
    <head>
        <script src="jquery.min.js"></script>
        <style>
            div {
                width: 200px;
                height: 200px;
                background-color: pink;
            }
        </style>
    </head>
    
    <body>
        <script>
            $(document).ready(function() {  // 法一
                $('div').hide();
            })
            $(function() {  // 法二
                $('div').hide();
            })
        </script>
        <div></div>
    </body>
    
  • 等 DOM 结构渲染完毕即可执行内部代码,不必等到所有外部资源加载完成。相当于原生 js 中的 DOMContentLoaded,不同于原生 js 中的 load 事件是等页面文档、外部的 js 文件、css 文件、图片加载完毕才执行内部代码

jQuery 的顶级对象 $

  • $ 是 jQuery 的别称,在代码中可以使用 jQuery 代替 $,但常用 $
  • $ 是 jQuery 的顶级对象,相当于原生 js 中的 window,把元素利用 $ 包装成 jQuery 对象,就可以调用 jQuery 的方法
  • 示例
    <head>
        <script src="jquery.min.js"></script>
        <style>
            div {
                width: 200px;
                height: 200px;
                background-color: pink;
            }
        </style>
    </head>
    
    <body>
        <div></div>
        <script>
            $(function() {
            });
            jQuery(function() {
                $('div').hide();
                jQuery('div').hide();
            });
        </script>
    </body>
    

jQuery 对象和 DOM 对象

  • 原生 js 获取的对象是 DOM 对象,jQuery 方法获取的元素是 jQuery 对象
  • jQuery 对象本质:利用 $ 对 DOM 对象包装后产生的对象【伪数组形式存储】
  • jQuery 对象只能用 jQuery 方法,DOM 对象只能用原生的 js 属性和方法,不可混用
    <head>
        <script src="jquery.min.js"></script>
        <style>
            div {
                width: 100px;
                height: 100px;
                background-color: pink;
            }
        </style>
    </head>
    
    <body>
        <div></div>
        <span></span>
        <script>
            var myDiv = document.querySelector('div');
            var mySpan = document.querySelector('span');
            console.dir(myDiv);  // div
    
            $('div');
            $('span');
            console.dir($('div'));  // w.fn.init(1)
    
            // myDiv.hide();  // 错误
            // $('div').style.display = 'none';  // 错误
        </script>
    </body>
    
  • DOM 对象 和 jQuery 对象之间可以相互转换
  • 原生 js > jQuery,若要使用 jQuery 未封装的原生 js 的属性和方法,需将 jQuery 对象转换为 DOM 对象
  • DOM 对象 -> jQuery 对象
    $(DOM 对象)
    jQuery 对象 -> DOM 对象
    $('div')[index]
    $('div').get(index)
    <head>
        <script src="jquery.min.js"></script>
    </head>
    
    <body>
        <video src="mov.mp4" muted></video>
        <!-- 浏览器默认不播放视频,muted 属性静音播放 -->
        <script>
            $('video');
    
            var myVideo = document.querySelector('video');
            myVideo.play();  // 正确
    
            // DOM -> jQuery
            // $(myVideo).play();  // 报错,$(...).play is not a function,jQuery 中无 play()
            
            // jQuery -> DOM
            $('video')[0].play();  // 正确
            $('video').get(0).play()  // 正确
        </script>
    </body>
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值