jQuery入门

🚀jQuery入门精修(我超细,快来看🚀)

//注释

"作为一个在编程学习路上的赶路来说,我不喜欢在网上查阅的资料内容太过冗余,看着累,学者也难。所以写的这一篇关于jQuery的文档,我想用最直接的方法告诉大家,它的使用方法以及底层逻辑原理。如果有哪些知识点有错误还望各位大佬,多多包涵指教…

一、什么是jQuery

在我们认识什么jQuery以前,我们先了解一下JavaScript库的概念。生活中有仓库这个概念,仓库里面可以放很多的东西,我们用的时候去仓库里找这些东西就能够使用。同理JavaScript库也是类似这个原理,我们把封装好的函数和方法放到这个库中,用的时候从库里面调用过来就行了(其原理是类似调用方法),比如说我们用的弹窗,它其实就是JavaScript库里面已经写好的一个方法函数。我们还可以把它简单理解为是一个js文件,里面已经封装了许多的方法和函数。我们用的时候直接调用就可以了,这样大大提高了我们的开发效率,而jQuery就是JavaScript库里面的其中一种,除此之外,JavaScript库里面还有许许多多的js库例如:Prototype, YUI ,Dojo,移动端的zepto等。这些库是对原生JavaScript的封装,内部都是用JavaScript实现的。
总结------(什么是js库? js库就是一个js文件里面存放着许许多多的函数,这些函数都为了满足某些功能)

二、如何使用引入jQuery

1.第一步下载jquery

官方网址 : https://jquery.com/
第一步 点击下载
在这里插入图片描述
第二步 进入该页面后,点击第一个版本 (压缩版) 在个人工作中常用这个 因为比较小一些。
在这里插入图片描述
第三步 进入该页面后 复制该页面的全部内容
在这里插入图片描述
复制页面全部内容
在这里插入图片描述
第四步 打开编译软件 (在这里我用的是vscord),新建一个js文件 这里我新建了一个"jq.js"的文件(文件名字随便),然后把刚才复制的全部内容复制到这个文件中并且保存。此时就完成了一个jQury的js文件
在这里插入图片描述
第五步 为防止之我们的jQuery 没有引入成功,我们可以做一个小测试 新建一个html的文件 在里面放一个div盒子 我们在 中引入刚才的jQuery文件
在这里插入图片描述
然后我们放一个div 给他修饰一下大小 然后在下面的写入jQuery代码(看不懂也没关系,只是做一个测试,时所要达到的效果就是用jQuery来隐藏这个盒子)
在这里插入图片描述
第六步 运行结果什么也没有测说明jQuery引入成功,如图:
在这里插入图片描述

代码如下(示例):

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="jq.js"></script>
    <style>
        div {
   
            width: 200px;
            height: 200px;
            background-color: blue;
        }
    </style>
</head>
<body>

    <div></div>
    //注意如果<script>   $('div').hide();   </script>  这行代买写在div上面则会运行不成功
    
       
    <script>
        $('div').hide();
    </script>

</body>
</html>

注意: 如果 这行代买写在div上面则会运行不成功
回顾javascript原生里面有两方法去解决:一种是等待页面全部加载完了再执行: 一种是等待页面主要的加载完了再执行。
而在jQuery里面也有两种入口函数解决方法

//第一种方法
 $(function () {
      
    ...  // 此处是页面 DOM 加载完成的入口
 }) ; 

//第二种方法
 $(document).ready(function(){
   
   ...  //  此处是页面DOM加载完成的入口
});  

很明显我们的第一种更简单使用的时候,所以我们推荐使用第一种。

2.jQuery的基本使用

2.1jQuery的顶级对象 $

常见的 $ 符号到底代表什么呢

//1$是jQuery的别称也即是它等同于jQuery
	<script>
        $('div').hide();
    </script>
    //以上代码也等同于
    <script>
        jQuery('div').hide(); //开发中我们更愿意用 $ 
    </script>
//2 $也是jQuery的顶级对象

2.2 jQuery对象 和DOM对象

1用原生的js获取来的对象就是DOM对象
2用jQuery获取来的对象就是jQuery对象
3他们两个是不一样的,jQuery的本质是利用$对DOM对象包装后产生的对象用的是伪数组来存储的

<div></div>
    <span></span>


    <script>
        //这是一个DO没对象
        var divl = document.querySelector('div');

        //这是一个jQuery对象
        var spanl = document.querySelector('span');

        $('div');
        
    </script>

注意: jquery对象只能用jQuery方法,DOM对象则是用原生的的javascript实行和方法。

//例如
$('span').style.display='none';//这样写就错了 因为span是jQuery对象 里面没有style属性

2.3 jQuery对象 和DOM对象可以相互转换

因为原生js 比jQuery更大,一些属性和方法jQuery没有给我们封装,要想使用这些属性和方法需要把原生的jQuery对象转换为DOM对象才能使用。
1 DOM对象转为jQuery对象 : $(‘DOM对象’);
2 jQuery对象转为DOM对象(两种方法) :
方法一: $ (‘div’) [index] index是伪数组号 因为获得jQuery对象是以伪数组存储的
方法二: $ (‘div’).get (index) index是伪数组号 因为获得jQuery对象是以伪数组存储的

        $('video')[0].play()
        $('video').get(0).play()
<body>
    <video src="mov.mp4" muted></video>
    <script>
        // 1. DOM对象转换为 jQuery对象
        // (1) 我们直接获取视频,得到就是jQuery对象
        // $('video');
        // (2) 我们已经使用原生js 获取过来 DOM对象
        var myvideo = document.querySelector('video');
        // $(myvideo).play();  jquery里面没有play 这个方法
        // 2.  jQuery对象转换为DOM对象
        // myvideo.play();
        $('video')[0].play()
        $('video').get(0).play()
    </script>
</body>

3.jQuery常用的API

3.1 jQuery选择器

jQuery常规选择器
在原生的js里面获取元素的方式有很多,而且很杂乱并且还讯在兼容性问题,而在jQuery里面将他们都做了封装使得获取元素得到了统一。

$(“选择器”) //这就是jQuery里面的获取元素的方式。

名称 用法以及描述
id选择器 $("#id")--------获取指定id元素
全选选择器 $("*")--------获取匹配所有蒜素
类选择器 $(".class")--------获取同一类元素
标签选择器 $(“div”)--------获取同一标签类元素
并集选择器 $(“div,p,li”)--------获取多个元素
交集选择器 $(“li,current”)--------获取交际元素
子代选择器 $(“ul>li”)--------获取亲儿子元素
后代选择器 $(“ul li”)--------获取指定元素的后代元素
<body>
    <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() {
   
            console.log($(".nav"));
            console.log($("ul li"));// 获取的是一种伪数组的存储

        })
    </script>
</body>

jQuery筛选选择器
在这里插入图片描述

<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", "skyblue");
            $("ol li:even").css("color", "pink");
        })
    </script>
</body>

jQuery筛选方法

语法 用法 说明
parent() $(“li”).parent(); 查找父级
children(selector) $(“ul”).children(“li”); 查找亲儿子
find(selector) $(“ul”).find(“li”) 查找后代元素
siblings(selector) $(".first").siblings(“li”); 查找兄弟节点不包含自己
nextAll([exper]) $(".first").All(); 查找当前元素的同辈元素
hasclass(class) $(“div”).hasclass(“protected”) 检测当前元素是否含有某个特定的类,如果是返回true
eq(index) $(“li”).eq(2); 相当于$(“li : eq(2)”),index从0开始
<body>
    <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", "red");
            // 3. 兄
        });
    </script>
</body>

案例

新浪下拉菜单

 <script>
        $(function() {
   
            // 鼠标经过
            $(".nav>li").mouseover(function() {
   
                // $(this) jQuery 当前元素  this不要加引号
                // show() 显示元素  hide() 隐藏元素
                $(this).children("ul").show();
            });
            // 鼠标离开
            $(".nav>li").mouseout(function() {
                   $(this).children("ul").hide();
            })
        })
    </script>

1 jquery 设置样式
$(‘div’).css(‘属性’,‘值’);
2 隐式迭代
遍历内部DOM元素(伪数组的形式),的过程叫做隐式迭代
3 隐式迭代就是把匹配的所有元素内部进行遍历循环,给每一个元素添加css这个方法

<body>
    <div>惊喜不,意外不</div>
    <div>惊喜不,意外不</div>
    <div>惊喜不,意外不</div>
    <div>惊喜不,意外不</div>
    <ul>
        <li>相同的操作</li>
        <li>相同的操作</li>
        
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值