jQuery设计思想:

(1)选择页面元素

css选择器:

$(document) 选择整个文档对象, $("#myId") 选择id为myId的页面元素, $("div.myClass")选择class为myClass的div元素

jQuery特有的选择器:

$("a:first")选择页面中第一个a元素,$("tr:odd")选择表格的奇数行,$("div:visible")选择可见的div元素。

(2)方法函数化

原生的:window.onload,innerHTML,onclick。

jQuery的:$(),html(),click()。

在jQuery代码中很少看到有等号出现的情况。因为它都函数化了,意思就是用函数的形式改写了原生的操作。比如:div.innerHTML = "chaojidan",$("div").html("chaojidan");div.onclick = function(){},$("div").click(function(){});

(3)原生与jQuery的关系

原生和jQuery可以共存,比如:$("div").click(function(){  this.innerHTML = "chaojidan";})

原生和jQuery不能混用,比如:$("div").innerHTML = "chaojidan"; div.html("chaojidan"),这两个都是错误的写法。

(4)改变结果集

强大的过滤器:$("div").has("p")选择包含p元素的div元素,$("div").not(".myClass")选择class不等于myClass的div元素,$("div").filter(".myClass")选择class等于myClass的div元素。

相邻元素查找:$("div").next("p")选择div元素后面的(必须紧挨着)第一个p元素,$("div").parent()选择div元素的父元素,$("div").children()选择div元素的所有子元素。

(5)链式操作

$("div").        //找到页面上的所有div元素

  find("h3").    //在div元素下找h3元素

    eq(2).    //取第三个h3元素

      html("chaojidan");    //设置它的内容为chaojidan

jQuery还提供了.end方法,此方法可以使结果集后退一步。比如:

$("div").        //找到页面上的所有div元素

  find("h3").    //在div元素下找h3元素

    eq(2).    //取第三个h3元素

      html("chaojidan").  //设置它(第三个h3元素)的内容为chaojidan

        end().    //此时的this指向就是在div元素下找h3元素的那个集合

          .eq(0).    //取第一个h3元素

            .html("chaojidan2");   //设置它的内容为chaojidan2

(6)取值与赋值合体

$("h1").html(),没有参数,表示取出h1的值;$("h1").html("hello"),有参数,表示对h1进行赋值。

取值是对一组元素的第一个元素做操作,赋值是对一组中的所有元素做操作。

.css(),.attr(),这些函数,当传入一个参数时,是取值,当传入两个参数时,是赋值。

(7)元素的移形换位

直接移动该元素:$("div").insertAfter($("p"));把div元素移动到p元素的后面;$("p").appendTo($("div"));把p元素移动到div元素的里面。比如:$("div").insertAfter($("p")).css("background","red");这里会把div元素的背景颜色设置成红色。

移动其他元素:$("p").after($("div"))把div元素移到p元素的后面;$("div").append($("p"));把p元素移动到div元素的里面。比如:$("p").after($("div")).css("background","red");这里会把p元素的背景颜色设置成红色。

(8)强大的创建

$("#ul").append("<li>aaa</li>");创建一个li元素,把它添加到ul中。

$("<li>");创建一个li元素

$("div").clone().appendTo($("p"));克隆一个div元素,并把这个克隆的div添加到p元素里面,原来的那个div不变。

(9)工具方法

构造函数上的方法(静态方法):$.each([],function(){}),$.trim()。原生的js可以调用这些方法。比如:var liList = document.getElementsByTagName("li");$.each(liList,function(index,element){});

原型上的方法(实例方法):$("div").each(function(index,element){})

(10)事件操作

独立事件:click()针对click事件,mouseover()针对mouseover事件,比如:$("div").click(function(){}),点击div元素会触发回调函数。

通用事件:bind(),one(),unbind(),比如:$("div").bind("click mouseover",function(){}),这里给div元素绑定了click和mouseover两个事件。

jquery中,如果在回调函数中,返回false,表示阻止事件冒泡以及阻止默认操作。

在js原生方法中,div.onclick = function(){},在回调函数返回false,也有一样的效果。

attachEvent也有一样的效果,但是addEventListener就不行。

(11)运动效果

常见效果:.fadeIn()淡入,.fadeOut()淡出,.slideDown()向下展开,.slideUp()向上卷起。

比如:$("#input1").toggle(function(){$("#div1").fadeOut()}, function(){$("#div1").fadeIn()}),点击按钮input1,就会把div隐藏,再次点击input1,就会把div显示。

复杂效果:.animate()动画操作,stop()。比如:

$("#div1").hover(

  function(){

      $(this).animate({

        width:300,

        height:300

      })

  },

  function(){   

     $(this).animate({

        width:200,

        height:200

      })

  }

)

鼠标移入div元素,元素div就会变成大到300*300,鼠标移出div元素,元素div就会缩小到200*200.

stop方法是用来停止动画的。

(12)插件机制

在jQuery的源码上进行扩展。是其他人写的,不是jQuery官方写的,比如你自己也可以写一个基于jQuery的list列表插件list.js。在使用此插件时,你需要先引入jQuery,然后再引入你的list.js。如果想详细了解jQuery插件请看:http://www.cnblogs.com/chaojidan/p/4213942.html

(13)UI组件

jQuery官方提供的功能效果和UI样式。比如:选项卡Tab,拖拽Draggable。你使用这些功能效果时,除了需要引入jQeury外,还需要引入jQuery.ui.js(这个js文件里面实现了这些功能效果)。如果想深入了解jQuery UI,请看:http://www.cnblogs.com/chaojidan/p/4220941.html

加油!

jQuery入门讲解的更多相关文章

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

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

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

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

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

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

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

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

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

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

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

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

  7. JQuery入门

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

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

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

  9. Mysql C语言API编程入门讲解

    原文:Mysql C语言API编程入门讲解 软件开发中我们经常要访问数据库,存取数据,之前已经有网友提出让鸡啄米讲讲数据库编程的知识,本文就详细讲解如何使用Mysql的C语言API进行数据库编程.   ...

随机推荐

  1. maven使用阿里云maven库

    在maven\conf\settings.xml中的mirrors添加 <mirror> <id>nexus-aliyun</id> <name>Nex ...

  2. Redis的强大之处

    [Redis的强大之处] 1.拥有对脚本的支持(此处是lua),脚本可选择性的缓存. 2.提供HyperLogLog计数器. 3.提供5种数据类型的全方位支持:List.Hash.Set.Ordere ...

  3. for 续1

    --------siwuxie095                 /f 是四个参数中最复杂的一个,非常强大,不过其复杂性 令人望而生畏     /f 用途: 能够对字符串进行操作,也能够对命令的返 ...

  4. CentOS 最新版的下载地址 + 版本选择详解

    CentOS 最新版的下载地址 + 版本选择详解 发现越来越多的机关单位.事业单位开始使用 Linux 作为主要服务器,毕竟,Linux的稳定性和高效性是众所周知的,所以我也打算把自己这一块技术加强一 ...

  5. CentOS 7如何开放其它的端口,比如8080

    CentOS 7如何开放其它的端口,比如8080 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop ...

  6. 使用WindowsFormsApplicationBase实现引导界面

    1.需要添加对Microsoft.VisualBasic 引用, 2.准备frmMain,frmSplash两个窗口 说明:        frmSplash在主线程上建立,但是在独立线程上进行消息循 ...

  7. Android文件上传

    服务端: using System; using System.Collections.Generic; using System.Linq; using System.Web; using Syst ...

  8. m2e 插件

    官网 http://www.eclipse.org/m2e/ 在线安装地址 http://download.eclipse.org/technology/m2e/releases 插件简介 Launc ...

  9. CSS定位DIV(一)一列样式

    前记:CSS样式核心就是DIV布局,一些基础知识省略不记,接下来的日志只关注最核心的布局问题. 一.一列布局 1.固定宽高 直接声明宽高,或用百分比表示. width:400px; 或 width:7 ...

  10. java并发编程实战:第十五章----原子变量与非阻塞机制

    非阻塞算法:使用底层的原子机器指令(例如比较并交换指令)代替锁来确保数据在并发访问中的一致性 应用于在操作系统和JVM中实现线程 / 进程调度机制.垃圾回收机制以及锁和其他并发数据结构 可伸缩性和活跃 ...