jQuery(一)jQuery概述、使用方式、原理、查找元素_jequery(1)

在这里插入图片描述

感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的:

① 2000多本Python电子书(主流和经典的书籍应该都有了)

② Python标准库资料(最全中文版)

③ 项目源码(四五十个有趣且经典的练手项目及源码)

④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)

⑤ Python学习路线图(告别不入流的学习)

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

但是 jQuery只有PC端,没有移动端,而且只对 DOM 操作的每一步进行了简化,没有减少步骤,所以用的会越来越少。

二、jQuery的使用

到官网jQuery进行下载即可,下载版本后引入网页。

1. 将 jQuery 引入网页的方法

(1)将 jquery.js 文件下载到项目本地文件夹,用相对路径引入

<script src="js/jquery-1.11.3.js">

(2)引入 CDN 网络中的 jquery.js 文件

CDN 网络可在全球范围共享一个文件;任意地区的一个客户端想用 CDN 网络中的文件时,CDN 网络都会从距离这个客户端网络最优的服务器下载资源给客户端。

<script src="官网提供的CDN网址">

//eg:微软提供的cdn网址: 
<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.11.3.js">

举例:对比 DOM 与 jQuery 写法;

三、jQuery原理

1. 引入 jquery.js 文件后,会在内存中新增一种类型,包括:

(1)构造函数:创建该类型的子对象;

(2)原型对象:集中保管该类型所有子对象共用的方法。

2. 使用 jQuery 函数库中的函数时,需要先创建 jQuery 类型的子对象

//标准写法
var jq子对象=new jQuery(选择器);

//简写
var jq子对象=jQuery(选择器)
var jq子对象=$(选择器)   //$相当于new jQuery  1.查找DOM元素 2.创建jQuery对象

只有 jQuery 子对象才能访问 jQuery 原型对象中的简化版共有方法。原生的 DOM 元素对象无权使用 jQuery 原型对象中的简化版函数。

3.  jQuery 中事件处理函数里的 this

.click 会翻译为 .οnclick=function(){ … },再执行,所以 .click() 中的 this,其实还是 .onclick 里的 this。与 DOM 中的 this 完全一样,都指向正在点击的当前原生 DOM 元素对象本身;jquery 中所有事件处理函数中的this都必须用 $() 包裹起来(包装),形成一个 jQuery 子对象,才可以使用 jQuery 函数库中的函数。

四、 jQuery API三大特点

1.自带for循环遍历

只对 jQuery 查找结果对象调用一次简化版函数,就可以自动遍历查找结果中每个 DOM 元素,自动为每个 DOM 元素应用多用的 DOM 操作

2.一个函数两用

和修改相关的函数,都既能用于修改新值,又能用于获取旧值;

调用函数时,没有传新值参数,函数默认执行获取旧值操作,

调用函数时,传了新值参数,函数自动改为执行修改为新值操作。

举例:有多个按钮,记录每个按钮的单击次数;

<body>
  <h1>jQueryAPI特点</h1>
  <button id="btn1">click me(0)</button>
  <button id="btn2">click me(0)</button>
  <button id="btn3">click me(0)</button>
  <script src="js/jquery-1.11.3.js"></script>
  <script>
    //为三个按钮绑定单击事件,记录单击次数
    //DOM 4步
    //1. 查找触发事件的元素
    var $btn = $("button");
    //2. 绑定事件处理函数
    $btn.click(function () {
      //3. 查找要修改的元素:本例中改当前按钮,所以用this  
      var $this = $(this);
      //4. 修改元素
      var n = parseInt(
        $this.html().slice(9, -1)
      );
      n++;
      $this.html(`click me(${n})`)
    });
  </script>
</body>

五、查找元素

jQuery 主要通过选择器的方式查找元素,除了原始 CSS 选择器之外,还添加了额外 jQuery 专属的选择器。

1. 子元素过滤选择器(css选择器)
:first-child所有父元素下第一个直接子元素
:last-child所有父元素下最后一个直接子元素
:nth-child(i)所有父元素下第i个直接子元素
:only-child所有父元素下唯一的一个子元素
注意:css中下标从1开始

举例:使用子元素过滤选择器选择指定元素;

<body>
  <h3>子元素过滤选择器.</h3>
  <ul>
    <li>child1-basic0</li>
    <li>child2-basic1</li>
    <li>child3-basic2</li>
  </ul>
  <ul>
    <li>child1-basic3</li>
    <li>child2-basic4</li>
    <li>child3-basic5</li>
  </ul>
  <ul>
    <li>child1-basic6</li>
  </ul>
  <script src="js/jquery-1.11.3.js"></script>
  <script>
    //查找每个ul中第一个li,让其字体颜色变为红色
    $("ul>li:first-child").css("color", "red");
    //查找每个ul中最后一个li,让其边框变为绿色
    $("ul>li:last-child").css("border", "1px solid green");

    //查找每个ul中处于偶数位置的,让其背景变为黄色
    $("ul>li:nth-child(2n)").css("background", "yellow");
    //查找每个ul中第2个li,添加蓝色阴影
    $("ul>li:nth-child(2)").css("box-shadow", "0 0 10px blue");
    //查找作为ul下唯一子元素的li,设置20px内边距
    $("ul>li:only-child").css("padding", "20px");
  </script>
</body>
2. 基本过滤选择器(jQuery专属)

先将所有符合要求的元素集中保存到一个大的集合中从0开始统一编号,按元素在集合中的统一编号来选择指定的元素。

:first :last在结果集合中排名第一或最后一个的元素
:eq(i) :lt(i) :gt(i)选择在结果集合中下标i等于i、小于i、大于i位置的元素(不包括i)
:even :odd选择在结果集合中下标位置i等于偶数位置或奇数位置的元素
注意:jQuery中下标从0开始

举例:使用基本过滤选择器选择指定元素;

<body>
  <h3>基本过滤选择器.</h3>
  <ul>
    <li>child1-basic0</li>
    <li>child2-basic1</li>
    <li>child3-basic2</li>
  </ul>
  <ul>
    <li>child1-basic3</li>
    <li>child2-basic4</li>
    <li>child3-basic5</li>
  </ul>
  <ul>
    <li>child1-basic6</li>
  </ul>
  <script src="js/jquery-1.11.3.js"></script>
  <script>
    //查找第一个li,字体变化红色
    $("li:first").css("color", "red");
    //查找最后一个li,边框变为绿色
    $("li:last").css("border", "1px solid green");
    //查找处于(正常人眼)偶数位置的li,背景变为黄色
    $("li:odd").css("background", "yellow");
    //查找第2个li,添加蓝色阴影
    $("li:eq(2)").css("box-shadow", "0 0 10px blue");
  </script>
</body>
3. 内容过滤器(jQuery专属)

根据元素的内容不同来选择元素。

:contains(文本)选择内容中包含指定文本关键字的元素
:has(其它选择器)选择子元素中包含符合选择器要求的元素的父元素
:parent选择内容非空的元素
:empty选择内容为空的元素

举例:使用内容过滤选择器选择指定元素;

<body>
  <div class="container">
    <h1>内容过滤选择器</h1>

    <button>提交订单</button>
    <button>Submit注册信息</button>
    <button>马上提交</button>
    <button>清空重填</button>

    <hr />
    <div class="alert"></div>
    <div class="alert">
      <span class="close">×</span>
    </div>

  </div>
  <script src="js/jquery-1.11.3.js"></script>
  <script>
    //选择包含"提交"二字的按钮,变为绿色按钮
    $("button:contains(提交)").css("background-color", "green");
    //选中包含.close按钮的.alert元素,让它们变为红色的警告框
    $(".alert:has(.close)").css("background-color", "red");
    //选中不包含.close按钮的.alert元素,让它们变为绿色的警告框
    $(".alert:not(:has(.close))").css("background-color", "green");
    //选择内容为空的.alert元素,添加红色阴影
    $(".alert:empty").css("box-shadow", "0 0 10px red");
    //选择内容不为空的.alert元素,添加绿色阴影
    $(".alert:parent").css("box-shadow", "0 0 10px green");
  </script>
4. 可见性过滤(jQuery专属)

根据元素是否可见来选择元素;

:visible选择可见的元素
:hidden选择不可见的元素

举例:使用 :hidden 选择不可见的元素;

<body>
  <div class="container">


做了那么多年开发,自学了很多门编程语言,我很明白学习资源对于学一门新语言的重要性,这些年也收藏了不少的Python干货,对我来说这些东西确实已经用不到了,但对于准备自学Python的人来说,或许它就是一个宝藏,可以给你省去很多的时间和精力。



别在网上瞎学了,我最近也做了一些资源的更新,只要你是我的粉丝,这期福利你都可拿走。

我先来介绍一下这些东西怎么用,文末抱走。

* * *



**(1)Python所有方向的学习路线(新版)**

这是我花了几天的时间去把Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。



最近我才对这些路线做了一下新的更新,知识体系更全面了。



![在这里插入图片描述](https://img-blog.csdnimg.cn/8fc093dcfa1f476694c574db1242c05b.png)



**(2)Python学习视频**



包含了Python入门、爬虫、数据分析和web开发的学习视频,总共100多个,虽然没有那么全面,但是对于入门来说是没问题的,学完这些之后,你可以按照我上面的学习路线去网上找其他的知识资源进行进阶。



![在这里插入图片描述](https://img-blog.csdnimg.cn/d66e3ad5592f4cdcb197de0dc0438ec5.png#pic_center)



**(3)100多个练手项目**

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了,只是里面的项目比较多,水平也是参差不齐,大家可以挑自己能做的项目去练练。



![在这里插入图片描述](https://img-blog.csdnimg.cn/f5aeb4050ab547cf90b1a028d1aacb1d.png#pic_center)



**(4)200多本电子书**  

  

这些年我也收藏了很多电子书,大概200多本,有时候带实体书不方便的话,我就会去打开电子书看看,书籍可不一定比视频教程差,尤其是权威的技术书籍。



基本上主流的和经典的都有,这里我就不放图了,版权问题,个人看看是没有问题的。



**(5)Python知识点汇总**

知识点汇总有点像学习路线,但与学习路线不同的点就在于,知识点汇总更为细致,里面包含了对具体知识点的简单说明,而我们的学习路线则更为抽象和简单,只是为了方便大家只是某个领域你应该学习哪些技术栈。



![在这里插入图片描述](https://img-blog.csdnimg.cn/c741a91b05a542ba9dc8abf2f2f4b1af.png)



**(6)其他资料**



还有其他的一些东西,比如说我自己出的Python入门图文类教程,没有电脑的时候用手机也可以学习知识,学会了理论之后再去敲代码实践验证,还有Python中文版的库资料、MySQL和HTML标签大全等等,这些都是可以送给粉丝们的东西。



![在这里插入图片描述](https://img-blog.csdnimg.cn/9fa77af248b84885a6ec779b2ead064d.png)

**这些都不是什么非常值钱的东西,但对于没有资源或者资源不是很好的学习者来说确实很不错,你要是用得到的话都可以直接抱走,关注过我的人都知道,这些都是可以拿到的。**




**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化学习资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618317507)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值