jQuery day01

发布于:2022-12-20 ⋅ 阅读:(519) ⋅ 点赞:(0)

目录

一.jQuery的概念

二. jQuery 的基本使用

       2.1.体验jQuery

        2.2 jQuery的入口函数

        2.3jQuery中的顶级对象$

        2.4 jQuery 对象和 DOM 对象

        2.5 jQuery 对象和 DOM 对象转换

三. jQuery 选择器

        基础选择器

        层级选择器

四.隐式迭代

五:筛选选择器

         jQuery筛选方法


一.jQuery的概念

  • jQuery 是一个快速、简洁的 JavaScript 库
  • j 就是 JavaScript; Query 查询; 意思就是查询js,把js中的DOM操作做了封装,我们可以快速的查询使用里面的功能。
  • jQuery 封装了 JavaScript 常用的功能代码,优化了 DOM 操作、事件处理、动画设计和 Ajax 交互。
  • 学习jQuery本质: 就是学习调用这些函数(方法)

二. jQuery 的基本使用

jQuery 的下载:  jQuery的官网地址: jQuery,官网即可下载最新版本。

各个版本的下载:jQuery CDN

2.1.体验jQuery

步骤:

  • 引入jQuery文件。

  • 在文档最末尾插入 script 标签,书写体验代码。

  • $('div').hide() 可以隐藏盒子。

<head>
<title>Document</title>
    <script src="jquery.min.js"></script>
    <style>
        div {
            width: 200px;
            height: 200px;
            background-color: pink;
        }
    </style>
</head>

<body>
    <script>

        // 1. 等着页面DOM加载完毕再去执行js 代码
        $(document).ready(function() {
            $('div').hide();
        })

        // 2.  等着页面DOM加载完毕再去执行js 代码
        $(function() {        //jq是封装函数,已经说过,会拿过来用即可
            $('div').hide();
        })
    </script>
    <div></div>

    <!-- <script> 
        $('div').hide(); //可以隐藏盒子,直接这样写script放在文档底部 
    </script> -->
</body>

2.2 jQuery的入口函数

jQuery中常见的两种入口函数:

 // 第一种: 简单易用。
$(function () {   
    ...  // 此处是页面 DOM 加载完成的入口
}) ; 

// 第二种: 繁琐,但是也可以实现
$(document).ready(function(){
   ...  //  此处是页面DOM加载完成的入口
});
  1. 等着 DOM 结构渲染完毕即可执行内部代码,不必等到所有外部资源加载完成,jQuery 帮我们完成了封装。
  2. 相当于原生 js 中的 DOMContentLoaded。
  3. 不同于原生 js 中的 load 事件是等页面文档、外部的 js 文件、css文件、图片加载完毕才执行内部代码。

2.3jQuery中的顶级对象$

 1)$是 jQuery 的别称,在代码中可以使用 jQuery 代替,但一般为了方便,通常都直接使用 $ 。

 2)$是jQuery的顶级对象,相当于原生JavaScript中的 window。把元素利用$包装成jQuery对象,就可以调用jQuery 的方法。

<head>
 <title>Document</title>
    <script src="jquery.min.js"></script>
    <style>
        div {
            width: 200px;
            height: 200px;
            background-color: pink;
        }
    </style>
</head>

<body>
    <div></div>
    <script>
        // 1. $ 是jQuery的别称(另外的名字)
        // $(function() {
        //     alert(11)
        // });
        jQuery(function() {
            // alert(11)
            // $('div').hide();    //
            jQuery('div').hide();  // 两种写法等同
        });
        // 2. $同时也是jQuery的 顶级对象
    </script>

2.4 jQuery 对象和 DOM 对象

使用 jQuery 方法和原生JS获取的元素是不一样的,总结如下 :

  1. 用原生 JS 获取来的对象就是 DOM 对象

  2. jQuery 方法获取的元素就是 jQuery 对象。

  3. jQuery 对象本质是: 利用$对DOM 对象包装后产生的对象(伪数组形式存储)。

只有 jQuery 对象才能使用 jQuery 方法,DOM 对象则使用原生的 JavaScirpt 方法

<script src="jquery.min.js"></script>
    <style>
        div {
            width: 100px;
            height: 100px;
            background-color: pink;
        }
    </style>
</head>

<body>
    <div></div>
    <span></span>
    <script>
      // 1. DOM 对象:  用原生js获取过来的对象就是DOM对象
        const myDiv = document.querySelector('div')   //myDiv是DOM对象
        console.dir(myDiv)  //console.dir()可以显示一个对象所有的属性和方法。
      // 2. jQuery对象: 用jquery方式获取过来的对象是jQuery对象。 本质:通过$把DOM元素进行了包装
        $('div')      // $('div')是一个jQuery对象
        console.dir($('div'))


      // 3. jQuery 对象只能使用 jQuery 方法,DOM 对象则使用原生的 JavaScirpt 属性和方法
        
    </script>

 2.5 jQuery 对象和 DOM 对象转换

DOM 对象与 jQuery 对象之间是可以相互转换的。因为原生js 比 jQuery 更大,原生的一些属性和方法 jQuery没有给我们封装. 要想使用这些属性和方法需要把jQuery对象转换为DOM对象才能使用。

// 1.DOM对象转换成jQuery对象,方法只有一种
        var box = document.getElementById('box');  // 获取DOM对象
        var jQueryObject = $(box);                    // 把DOM对象转换为 jQuery 对象

// 2.jQuery 对象转换为 DOM 对象有两种方法:
//   2.1 jQuery对象[索引值]
        var domObject1 = $('div')[0]

//   2.2 jQuery对象.get(索引值)
        var domObject2 = $('div')[0]

<head>
<title>Document</title>
<script src="jquery.min.js"></script>
</head>

<body>
    <video src="mov.mp4" muted></video>
    <script>
        // 1. DOM对象转换为 jQuery对象
        // (1) 我们直接获取视频,得到就是jQuery对象
        $('video')
        // (2) 我们已经使用原生js 获取过来 DOM对象
        const myvideo = document.querySelector('video')

        // 2. jQuery对象转换为DOM对象
        // myvideo.play()   //只有原生才有play属性
        $('video')[0].play()  //jQuery对象转换为DOM对象了
        $('video').get[0].play() 
    </script>
</body>

三. jQuery 选择器

原生 JS 获取元素方式很多,很杂,而且兼容性情况不一致,因此 jQuery 给我们做了封装,使获取元素统一标准。

基础选择器

$("选择器")     //  里面选择器直接写 CSS 选择器即可,但是要加引号 

层级选择器

   <div>我是div</div>
    <div class="nav">我是nav div</div>
    <p>我是p</p>
    <ol>
        <li>我是ol 的</li>
        <li>我是ol 的</li>
        <li>我是ol 的</li>
        <li>我是ol 的</li>
    </ol>
    <ul>
        <li>我是ul 的</li>
        <li>我是ul 的</li>
        <li>我是ul 的</li>
        <li>我是ul 的</li>
    </ul>
    <script>
        $(function () {
            $('.nav')
            console.log($(".nav"))
            console.log($('ul li'))
        })
    </script>

 四.隐式迭代

隐式迭代就是把匹配的所有元素内部进行遍历循环,给每一个元素添加css这个方法

  • 遍历内部 DOM 元素(伪数组形式存储)的过程就叫做隐式迭代。
  • 简单理解:给匹配到的所有元素进行循环遍历,执行相应的方法,而不用我们再进行循环,简化我们的操作,方便我们调用。
  • $('div').hide();  // 页面中所有的div全部隐藏,不用循环操作
    <div>惊喜不,意外不</div>
    <div>惊喜不,意外不</div>
    <div>惊喜不,意外不</div>
    <div>惊喜不,意外不</div>
    <ul>
        <li>相同的操作</li>
        <li>相同的操作</li>
        <li>相同的操作</li>
    </ul>
    <script>
        // 1. 获取四个div元素
        console.log($('div'))

        // 2. 给四个div设置背景颜色为粉色 jquery对象不能使用style   语法: $('div').css('属性', '值')     
        $('div').css('background', 'pink')

        // 3. 隐式迭代就是把匹配的所有元素内部进行遍历循环,给每一个元素添加css这个方法 
    </script>

五:筛选选择器

在所有的选项中选择满足条件的进行筛选选择,常见如下 :

<body>
    <ul>
        <li>多个里面筛选几个</li>
        <li>多个里面筛选几个</li>
        <li>多个里面筛选几个</li>
        <li>多个里面筛选几个</li>
        <li>多个里面筛选几个</li>
        <li>多个里面筛选几个</li>
    </ul>
    <ol>
        <li>多个里面筛选几个</li>
        <li>多个里面筛选几个</li>
        <li>多个里面筛选几个</li>
        <li>多个里面筛选几个</li>
        <li>多个里面筛选几个</li>
        <li>多个里面筛选几个</li>
    </ol>
    <script>
        $(function () {
            $('ul li:first').css('color', 'red')
            $('ul li:eq(2)').css('color', 'blue')

            $('ol li:odd').css('color','orange')

        })
    </script>
</body>

5.1 jQuery筛选方法

 <div class="yeye">
        <div class="father">
            <div class="son">儿子</div>
        </div>
    </div>

    <div class="nav">
        <p>我是屁</p>
        <div>
            <p>我是p</p>
        </div>
    </div>
    <script>
        // 注意一下都是方法 带括号
        $(function () {
            // 1. 父  parent()  返回的是 最近一级的父级元素 亲爸爸
            console.log($('.son').parent())

            // 2. 子
            //  (1) 亲儿子 children()  类似子代选择器  ul>li
            $('.nav').children('p').css('color', 'red')

            //  (2) 可以选里面所有的孩子 包括儿子和孙子  find() 类似于后代选择器
            $('.nav').find('p').css('color', 'orange')

        })
    </script>

网站公告

今日签到

点亮在社区的每一天
去签到