相信学js的人多多少少听过JQuery,JQuery对于前端开发人员来说是不可或缺的,他让开发变得更加简单。那到底什么是JQuery呢?用一句话来说,JQuery就是一个javascript的库。所谓的javascript库也就是一些封装好的常用的方法,我们把它封装到一个单独的js文件中,在要用的时候直接调用就好了。所以,我们学习jQuery就是学习他的方法。

  我们可以在JQuery官网中直接下载JQuery,以下是他的官网下载网址:

http://jquery.com/download/

  到目前为止,JQuery有三个大版本,分别是JQuery1.X,JQuery2.X,JQuery3.X。JQuery1.X版本还有着对ie6,7,8的兼容。而在JQuery2.X版本中,他已经对ie8及以下的版本已经不支持了。所以我们在下载的时候要根据实际开发而定,而JQuery3.X版本跟JQuery2.X版本最主要的区别就是他有一个slim版本,他移除了effects ajax模块,让jquery更加的精简。在每个大版本中,又分两个小版本,分别是压缩版和未压缩版。其中压缩版将变量名尽可能的变为单个字母,把注释,换行和空格全部去掉,用以减小体积。而未压缩版则保留了全部注释,并且变量名尽可能的语义化。所以说,在选择JQuery版本的时候,我们就要看我们实际的需求了。一般来说,如果我们要兼容ie8及以下的版本,我们就会选择JQuery1.X,如果不需要兼容的话,我们可以在JQuery2.X或JQuery3.X中任选一个。在实际的开发中,我们会选择未压缩版本的,有助于我们在开发中遇到问题可以及时的查询。而在产品上线的时候,我们会选择吧JQuery换成压缩版本的来减小体积。

  在下载好JQuery了之后,我们就要把JQuery引入我们的项目中了。一般来说,我们会把下载好的JQuery放到我们的js文件夹中。然后在页面中引入JQuery。这里,要注意把引入的JQuery放在最前面,否则在调用的时候会报错,因为浏览器是从上往下解析的。

  在引入JQuery包之后,就可以正式开始写js代码了。我们在引入JQuery包的下面写一个script标签来写代码,首先我们要先写一个入口函数。因为在实际开发中,script标签基本上都是放在页面的head标签中的。所以说,我们要等页面加载完成后才能开始执行,否则就会获取不到页面中的元素。在原生的js代码中,我们通常使用的是

window.onload = function () {

};

而在JQuery中,我们通常使用的是

$(document).ready(function () {

});

或者是

$(function () {

})

  他们有什么区别呢。首先,JQuery跟原生js代码比,前者是在页面DOM树加载完成之后开始执行的,他不会等待图片等资源加载。后者则是等到页面上所有资源加载完成之后才开始执行的。而JQuery的两种写法功能都是相同的,后者只是前者的一种简写形式而已。

在这里,我们看到了有一个$的符号,他又是什么意思呢?在JQuery中,$本质上是一个函数,他根据所给的参数不同,所执行的功能也不同。

首先,如果我们给他传入字符串形式的css选择器的话,它的功能就是获取页面上的元素它的语法是$(selector)。selector指代的就是要获取的选择器。比如:

var $box = $("#box");

  第二种用法就是传入一个DOM对象,他可以把DOM对象转成JQuery对象。它的语法是$(DOMobj)DOMobj只带的就是DOM对象。比如:

var cloth = document.getElementById("cloth");

var $cloth = $(cloth);

  第三种用法则是传入一个function。也就是之前提到的入口函数的形式,它的功能就是入口函数。

$(function () {

})

  在JQuery中有JQuery对象,而在DOM中有DOM对象,他们有什么关系呢?首先,JQuery对象就是通过JQuery方法获取到的元素,也就是用$符号。而DOM对象则是通过js方法获取到的元素。并且,他们之间的方法不能相互使用。JQuery对象其实就是DOM对象的包装集,DOM对象以伪数组的形式存放在JQuery对象中。

  当然,JQuery对象和DOM对象之间也能相互转换。如果我们想把JQuery对象转换成DOM对象,我们只需要在JQuery对象后面跟一个下标也就是jQueryObj[index]的形式,或者调用JQuery对象中的方法jQueryObj.get(index)这里的jQueryObj值的就是JQuery对象,而index指的则是DOM对象在JQuery对象中所对应的位置。而我们如果想把DOM对象转成JQuery对象就很简单了,我们只需要用$(domObj)的形式就可以了,这里的domObj指的就是DOM对象。

  在JQuery中,他有很多的选择器,不过它使用的方式跟css选择器的方式很像。这里我就提部分的选择器来说。

  首先来说说他的基本选择器,跟css中一样,他也有类选择器,id选择器。标签选择器,并集选择器和交集选择器。格式如下:

    $(".className")  类选择器

   $("#id")  id选择器

    $("tagName") 标签选择器

    $("selector1,selector2")  并集选择器

   $("selector1selector2") 交集选择器

  除了基础选择器之外,他还有层级选择器,包括后代选择器和子代选择器。格式如下:

   后代选择器 $("selector1 selector2")

   子代选择器 $("selector1>selector2")

  然后就是过滤选择器过滤选择器有很多它的格式是:$("selector:filter")。比如以下几个:

  odd   $("selector:odd")  奇数过滤选择器

  even  $("selector:even")  偶数过滤选择器

  eq(index)  $("selector:eq(index)")  序号过滤选择器

  最后就是筛选选择器了,筛选选择器其实都是方法。比如:

   children(selector)选择所有的子代

    find(selector)选择所有的后代

    next()选择下一个

   siblings(selector)选择所有兄弟节点

   parent()选择父辈节点

  如果js基础扎实的话,学习JQuery是不难的。

jQuery入门(一)的更多相关文章

  1. jQuery入门(1)jQuery中万能的选择器

    jQuery入门(1)jQuery中万能的选择器 jQuery入门(2)使用jQuery操作元素的属性与样式 jQuery入门(3)事件与事件对象 jQuery入门(4)jQuery中的Ajax()应 ...

  2. jQuery入门(2)使用jQuery操作元素的属性与样式

    jQuery入门(1)jQuery中万能的选择器 jQuery入门(2)使用jQuery操作元素的属性与样式 jQuery入门(3)事件与事件对象 jQuery入门(4)jQuery中的Ajax()应 ...

  3. jQuery入门(3)事件与事件对象

    jQuery入门(1)jQuery中万能的选择器 jQuery入门(2)使用jQuery操作元素的属性与样式 jQuery入门(3)事件与事件对象 jQuery入门(4)jQuery中的Ajax()应 ...

  4. jQuery入门(4)jQuery中的Ajax应用

    jQuery入门(1)jQuery中万能的选择器 jQuery入门(2)使用jQuery操作元素的属性与样式 jQuery入门(3)事件与事件对象 jQuery入门(4)jQuery中的Ajax()应 ...

  5. JQuery入门

    JQuery入门 1 jQuery的概述 1.1 jQuery简介 jQuery是一个 JavaScript函数库,它是一个“写的更少,但做的更多”的轻量级 JavaScript 库.jQuery 极 ...

  6. jQuery入门必须掌握的一些API

    jQuery 中文版文档:http://www.css88.com/jqapi-1.9/category/ajax/ jQuery入门,必须掌握以下的API,平时工作中经常会用到.未列出的API,在掌 ...

  7. Web前端JQuery入门实战案例

    前端jquery入门到实战 为什么要学习Jquery?因为生活. 案例: <!DOCTYPE html> <html lang="zh-CN"> <h ...

  8. jquery(入门篇)无缝滚动

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  9. 第一百六十二节,jQuery入门介绍

    jQuery入门 学习要点: 1.什么是  jQuery 2.学习 jQuery的条件 3.jQuery的版本 4.jQuery的功能和优势 5.其他 JavaScript库 6.是否兼容低版本  I ...

  10. jQuery入门--- 非常好

    jQuery入门------https://blog.csdn.net/dkh_321/article/details/78093788

随机推荐

  1. DELPHI中多线程知识【转】

    本文的内容取自网络,并重新加以整理,在此留存仅仅是方便自己学习和查阅.所有代码均亲自测试 delphi7下测试有效.图片均为自己制作. 多线程应该是编程工作者的基础技能, 但这个基础我从来没学过,所以 ...

  2. 用c3m自动生成的化学机理文件导入mfix里需要注意的一些问题

    1. 首先是类似这种写法: Species_g(1) = "CH4" Species_Alias_g(1) = "CH4" 可能会报错,写在一行可能就好了,如: ...

  3. Spark算子总结及案例

    spark算子大致上可分三大类算子: 1.Value数据类型的Transformation算子,这种变换不触发提交作业,针对处理的数据项是Value型的数据. 2.Key-Value数据类型的Tran ...

  4. SQL server 定时自动执行SQL存储过程

    当一个存储过程是为了生成报表,并且是周期性的,则不需要人工干预,由SQL作业定时自动执行些SQL存储过程即可. 本示例,假设已需要定时执行的存储过程为:Pr_test 工具/原料 SQL Server ...

  5. Bootstrap 按钮分组

    Bootstrap 按钮分组: <!DOCTYPE html> <html lang="en"> <head> <meta charset ...

  6. doubango简介

    1.doubango官网:http://www.doubango.org/ doubango常用项目国内镜像(放在淘宝的svn服务器),目前有4个项目:doubango, idoubs, imsdro ...

  7. LinkedHashMap遍历

    第一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Ma ...

  8. css3 2d转换3d转换以及动画的知识点汇总

    css3 2d转换 2d转换的方法: 1.移动 translate(x, y) 可以改变元素的位置,x.y可为负值: 2.缩放 scale(x, y) 可以对元素进行水平和垂直方向的缩放,x.y的取值 ...

  9. GitHub客户端发布托管代码

    初试GitHub及客户端使用 突然想分享代码,于是记起来曾几何时有人提到过GitHub这个东西,于是便各种百度,注册申请了一个账号,下载了windows客户端,全英文网站就连新手教程也是全英的,现在想 ...

  10. 使用 visualstudio code 编辑器调试执行在 homestead 环境中的 laravel 程序

    由于之前做 .net 开发比较熟悉 visualstudio,所以自 visualstudio code 发布后就一直在不同场合使用 vscode ,比如前端.node等等.最近在做 laravel ...