前端-jQuery-基本介绍

###

jQuery介绍

1,是JavaScript的第三方库,其实就是别人写好的代码,我们拿过来用,

2,极大的简化了JavaScript的操作,做同样的事情,jQuery比原生的js,写起来简单太多了,写起来非常的简练

3,学起来很简单,

4,jQuery很重要,大量的前端项目,都是用的jQuery,而不是原生js,

5,没有这个jQuery也是可以的,但是比较麻烦,所以我们先学习js的dom操作,这个是基础,

 

js能实现的效果 是不是jQuery都能实现?

并不能,jquery只是封装的js绝大部分功能,有很强的选择器。方便快捷轻量级。js还是原生的好。

大多数功能能实现,jquery仅仅只是一个javascript的框架,而javascript是一种语言

不能,javascript是一门编程语言,jquery是javascript封装好的内库!

jQuery是一个简洁而快速的JavaScript库,可用于简化事件处理,HTML文档遍历,Ajax交互和动画,以便快速开发网站。

目的是让开发者更容易地在网站上使用JavaScript。它不是一种单独的编程语言,与JavaScript一起工作。使用jQuery,将用更少的资源做更多的事情。

jQuery是基于js的,

###

用了vue还需要jquery吗

如果你作为前端有一段时间的话一定会很熟悉jquery,作为前端的开发神器我们无法想象没有jquery将会写多少繁琐的原生js。在angularjs,react,vue当道的年代里,或许你不在需要jquery了。

在没有任何前端框架之前,我们写代码,只能用原生的JS,进行数据的处理,DOM的操作,譬如对一个id 为txtName 的文本框进行赋值,我们是这样的 document.getElementById('txtName').value = '张三'。当然这还仅仅是针对通过id获取DOM ,现实开发中还有其它的各种操作,当然如果熟悉JS的话,其实写的代码性能也还不错。只不过用原生实现的代码比较多,开发起来慢啊,在这个时间就是金钱的年代,显然不是很好的方式。

基于原生实现不是很方便,就出来个Jquery框架了,他让我们少写很多代码,对很多操作都进行了封装简化,使我们开发起来快多了,譬如同样针对上面那个文本框赋值的功能,$('#txtName’).val('张三')。如果需要针对这个元素进行样式等改变,直接往后接着写就行了,不像原来用原生JS那样麻烦了。当然框架内部实现还是基于原生JS 这个是没办法改变的。

用Jquery开发了还多年,自己一直觉得已经挺快了,没有更好的方式了。但是总有一些牛逼的人物想更快,更好的方式,JQUERY操作DOM还是太慢了,还是得必须针对一个个DOM去操作,有没有那种数据变了,DOM也跟着变的。譬如还是上面的例子,张三 我现在又变成了李四了,我不需要找到DOM再赋值,直接文本框值就变成了李四呢。于是乎VUE框架诞生了。

####

我们先来看看jQuery当时能迅速的风靡全球的原因有哪些!
我想了想,无外乎下面三条
(1)出色的DOM操作封装
例如原来你要修改样式,原生JavaScript是这么写的

var dom = document.getElementById('test');
dom.style.color = 'blue';
用上jQuery后,一行搞定

$('#test').css('color', 'blue');
(2)便捷的Ajax操作
原生的JavaScript在ajax请求上的代码,嗯,我就不贴代码了!具体多复杂,懂前端的人都明白。
用上了jQuery后,简洁了不少!如下所示

$.ajax({url:"/guduyan",
success:function(result){
//dosomething
}});
(3)出色的动画效果
例如,我们需要把 一个<div>元素移动到左边,直到left属性等于250像素为止。
使用jQuery,我们可以这么写

$("div").animate({left:'250px'});
总而言之,jQuery作为一个JavaScript库。这个库里有很多函数,可以简化你的DOM
操作,提供一些特效功能...等等!它的目的就是让一些你不会写,不想写,没时间写的代码,那么库帮你准备好一些函数接口,让你调用直接完成功能。

MVVM的框架
而Vue、React之类,它们是JavaScript框架,引入了组件化、模块化的概念,采用虚拟DOM取代原来的DOM操作!在Vue这类MVVM框架中,数据和视图完全分离开来了。对数据进行操作不再需要引用相应的DOM对象,达到了解耦的目的!

针对原来的jQuery的几个优点
(1)针对jQuery里便捷的Dom操作
在Vue和React这类MVVM框架中,采用一种绑定元素渲染的概念,基本不用怎么操作Dom,某些特殊操作除外。

ps:Dom操作不可能完全消失,否则Vue没必要再提供$refs属性。某些文章中说可以完全替代,我不敢苟同。

(2)针对jQuery里出色的动画效果
这个有CSS 3可以取代。另外,还有专门的动画库Velocity.js可以负责这些动画效果!

(3)针对jQuery便捷的Ajax操作
这个被Axios等库完全替代,而且API都差不多,功能也一样。

除了上面几点以外。像Vue这类的MVVM框架为了性能,不让开发者直接操作DOM树,引入虚拟DOM的概念。

###

学jQuery的必要性
(1)目前大量网站在用jQuery

虽然目前大量文章鼓吹什么jQuery不行啦,要退出潮流啦!
然而,各位随便去个网站,按f12输入一个$,大部分还是会返回一个
"function(a,b){return new r.fn.init(a,b,h)}"

我勒个去,说好的要退出历史舞台呢?怎么这么多网站还在用jQuery!

很简单,因为jQuery已经占领了市场。一个产品如果已经趋于稳定,再让他换另一套架构又是一笔成本。
正是因为目前市面上还是大量网站再用jQuery,所以学好jQuery还是很有必要的!

(2)jQuery能支持IE8以下版本
由于Vue之类的框架,只能支持IE8以上的版本。所以老实说,我也不懂现在鼓吹什么,市面上都是什么IE8浏览器啊。
实际情况是,现在很多那种事业单位里头的古董电脑,很多都还是IE7,像这种情况下,用vue之类的MVVM框架显然不适合。

ps:你给政府坐项目用Vue试试看,绝对被找茬!挣钱才是重点!技术是为金钱服务的!

(3)jQuery适合快速入门
曾记得我有一个同事,会点jQuery,就在那吹嘘自己全栈。对于这类人,我们应该是:"啊,你真棒,可以教教我们嘛!"没错,就是要让他膨胀,然后让他无心学习!

当然,这反应出一点,其实jQuery很好上手。当然,如果职业是前端,那当然要懂mvvm,但更多公司甚至不请前端,后端处理,那后端处理其实都是jQuery。

####

jQuery的学习内容

1,查找标签,----HTML 元素选取

2,操作标签的属性和样式-----HTML 元素操作,CSS 操作

3,给标签加动作,--HTML 事件函数,JavaScript 特效和动画,HTML DOM 遍历和修改

4,AJAX

除此之外,jQuery 还提供了大量的插件。

###

jQuery 安装

第一种方法:下载并引用

jQuery的版本下载网址:http://www.jq22.com/jquery-info122

找到要下载的版本,点击下载

下载好之后进行安装,并且新建项目名称为Jquery练习

将第一步中下载好的jQuery资源包进行解压,将解压好的.js文件移动到自己的web项目js包里面。

引入资源文件,并测试是否引加载成功,如果是undefinition 就没有引入。

创建一个html页面,将jQuery的min.js 的资源文件引入

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript" src="jquery-3.3.1.min.js"></script>


</head>
<body>

</body>
</html>

 

###

第二种方法:直接使用链接引用

如果您不希望下载并存放 jQuery,那么也可以通过 CDN(内容分发网络) 引用它。

很有多公司都有这种cdn,下面是引用的百度的,

<script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js">

 

###

html的dom对象,和jQuery对象

 

同样是获取一个标签,看这两种不同的获取方式,

1,这是一个dom对象

var d1 = document.getElementById("d1")//这是一个dom对象

2,这是一个jQuery对象

ar $d1 = $("#d1")//这是一个jQuery对象,所有的jQuery对象的变量名字,约定俗成的,都要在前面加一个$符号,用来区分普通的dom对象,

 

##

jQuery对象转换成dom对象,直接使用索引取出,

dom对象转换成jQuery对象,直接使用$(dom对象)符号包一下,就是一个jQuery对象了,

示例:

var pEle = document.getElementById("p3")   ------这是dom对象

var $pEle = $(pEle)   ---转换成jQuery对象,就是$(pEle) -----这就是jQuery对象了,为什么变量名之前加一个$符号,因为是用来区分普通的dom对象的,

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript" src="jquery-3.3.1.min.js"></script>


</head>
<body>
<p id="d1">测试</p>

</body>
</html>

###

 

注意语法:

$("") ---->就是相当于jQuery("")

##############

 

 

 

 

##############

 

posted @ 2020-11-11 20:31  技术改变命运Andy  阅读(357)  评论(0编辑  收藏  举报