一、概述

1.虽然 jQuery 本身并非一门新的语言。但是,学习其语法有助于我们熟练、灵活地使用它。回顾下我们熟悉的 CSS 语法,不难发现 jQuery 的语法与 CSS 有相似之处。 jQuery 语法的设计思想是"选择元素,对其操作"。这和 CSS 规则的语法非常类似。

jQuery 的语法其实正是模仿了 CSS 规则的语法。其语法如下:

$(selector).action(actionParameter);

这是个链式语法。因此,上述的语法等效于:

var objTargetElements;//要施加操作的目标元素
objTargetElements=$(selector);//指定目标元素
//调用 objTargetElements 的相关方法,对目标元素进行操作
objTargetElements.action(actionParameter);

上述语法中,

$ :美元符是 jQuery 核心函数 jQuery 的一个别名。当然,在 JavaScript 中“$”是一个合法的函数名。 Selector 参数指定了一个 jQuery 选择器。jQuery 选择器类似于 CSS 中的选择器,它告诉 jQuery 我们准备对哪些元素进行操作(action)。并且,CSS 中的各种选择器 jQuery 中都有等同的选择器。

action :该方法指定了要对 selector 所指定的元素进行什么具体操作。actionParameter 参数是个可选参数,是根据具体所指定的方法来定的,它会随具体方法的变化而变化。

2.$ 函数返回的对象提供了一个名为 each 的常用方法。 each 方法接受一个参数,该参数是一个回调函数。 each 方法会针对选择器表达式所匹配的元素中的每个元素逐次调用这个回调函数,并将单个元素及其对应的索引号作为参数传入该函数。eg:

//用基于元素名称的选择器去匹配页面中的所有链接元素
$("a").each(function(index,ele){//匿名函数作为 each 方法的参数,供其调用
console.log("链接"+index+":"+ele.href);//往控制台中打印链接 URL
});

3.

二、jQuery 选择器

1.基于元素 ID 的选择器:这种选择器可以指定唯一的一个元素。其语法是: "#元素 ID";

2.基于元素标签名的选择器:如果要对标签名相同的元素(如都是用标签"A"表示的超链接元素)进行操作,则可以使用基于标签名的选择器。其语法如下:"元素名"

3.基于 CSS 类名选择器 jQuery 也支持 CSS 所支持的类名选择器。其语法是: ".类名"

4.基于元素属性的选择器:其语法是: “元素名[属性名=属性指]” 比如下面的 CSS 规则描述了将所有的文本框的背景色设为黄色。 input[type="text"]{ background-color:yellow; }

5.基于 DOM 对象的选择器 :这种选择器在一些特定情况下会显得非常有用和方便。eg:

$(document).ready(initPage);//页面加载完毕后,jQuery 会回调 initPage
$(initPage);
使用匿名函数
$(function(){//该函数在页面加载完毕会被 jQuery 调用
//事件处理代码
});

三、jQuery 事件

1.使用 bind 方法绑定事件监听器

//当 ID 为 btnDetails 的按钮被单击时,下面的匿名函数会被 jQuery 调用
$("#btnDetails").bind("click",function(){
$("#divDetails").toggle();//显示或者隐藏 ID 为 divDetails 的元素
});

2.使用 jQuery 事件对象

$("#txtVerifyCode").bind("keypress",function(evt){
var keyCode=evt.which;//从事件对象中获取当前按键的编码值
var char=String.fromCharCode(keyCode) ;//将按键的编码转换为相应的字符
if(!/\d/.test(char)){//当前输入的字符不是数字字符
//调用事件对象的 preventDefault 方法,取消事件的默认行为,此处即取消输入。
evt.preventDefault();
}
});

3.向事件监听器传递额外参数

$('#tip1').bind('click',{msg:'中文提示'},showTipHandler);

4.事件绑定的简便方法

$("#txtVerifyCode").keypress(function(evt){
//这里是事件处理代码
});

5.取消事件绑定

$("#btnEvtBind").unbind("click",handleClick);

调用 unbind 方法时,如果不指定第二个参数,则 jQuery 会取消监听第一个参数所指定的事件的所有监听器。若没有指定任何参数,则 jQuery 会取消选择器表达式匹配的所有元素上所有监听器。

三、知识点

1.包装集和Dom对象:

jQuery包装集的某些遍历方法,比如each()中, 可以传递遍历函数, 在遍历函数中的this也是Dom元素,比如:

$("#testDiv").each(function() { alert(this) })

如果我们要使用jQuery的方法操作Dom对象,怎么办? 用上面介绍过的转换方法即可:

$("#testDiv").each(function() { $(this).html("修改内容") })
 先让大家明确Dom对象和jQuery包装集的概念, 将极大的加快我们的学习速度. 我在学习jQuery的过程中就花了很长时间没有领悟到两者的具体差异, 因为书上并没有专门讲解两者的区别, 所以经常被"this指针为何不能调用jQuery方法"等问题迷惑.  直到某一天豁然开朗, 发现只要能够区分这两者, 就能够在写程序时变得清清楚楚.
 
2.包装集和Dom对象:

Ibm-jQuery教程学习笔记的更多相关文章

  1. TypeScript 入门教程学习笔记

    TypeScript 入门教程学习笔记 1. 数据类型定义 类型 实例 说明 Number let num: number = 1; 基本类型 String let myName: string = ...

  2. jfinal框架教程-学习笔记

    jfinal框架教程-学习笔记 JFinal  是基于 Java  语言的极速  WEB  + ORM  开发框架,其核心设计目标是开发迅速.代码量少.学习简单.功能强大.轻量级.易扩展.Restfu ...

  3. Webpack新手入门教程(学习笔记)

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; text-align: center; font: 30.0px Helvetica; color: #000000 } ...

  4. jQuery源代码学习笔记_工具函数_noop/error/now/trim

    jQuery源代码学习笔记_工具函数_noop/error/now/trim jquery提供了一系列的工具函数,用于支持其运行,今天主要分析noop/error/now/trim这4个函数: 1.n ...

  5. 尚硅谷韩顺平Linux教程学习笔记

    目录 尚硅谷韩顺平Linux教程学习笔记 写在前面 虚拟机 Linux目录结构 远程登录Linux系统 vi和vim编辑器 关机.重启和用户登录注销 用户管理 实用指令 组管理和权限管理 定时任务调度 ...

  6. JProfiler使用详细教程学习笔记

    JProfiler学习笔记    推荐文章:JProfiler 入门教程 一.安装JProfiler        从http://www.ej-technologies.com/下载5.1.2并申请 ...

  7. Postman使用教程学习笔记

    刚加入网页测试行列,最近在学习POSTman的使用教程,记录下学习笔记. Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件.当开发人员需要调试一个网页是否运行正常,并不是 ...

  8. jQuery的学习笔记4

    JQuery学习笔记3 2.9属性选择器 属性选择器就是根据元素的属性和属性值作为过滤条件,来匹配对应的DOM元素.属性选择器一般都以中括号作为起止分界符 它的形式如下: [attribute] [a ...

  9. jQuery的学习笔记2

    jQuery学习笔记 Day two Chapter two 选择器 类选择器 语法结构:$(“.classname”) javascript里面没有类选择器所以这个时候使用jQuery会更加的简便 ...

  10. jQuery的学习笔记

    JQuery学习笔记 Chapter one初识jQuery 1.2测试jQuery 在jQuery库中,$是jQuery的别名,如:$()相当于jQuery() 注意:在使用JQuery进行开发的时 ...

随机推荐

  1. [原]Java修炼 之 基础篇(二)Java语言构成

    上次的博文中Java修炼 之 基础篇(一)Java语言特性我们介绍了一下Java语言的几个特性,今天我们介绍一下Java语言的构成.        所谓的Java构成,主要是指Java运行环境的组成, ...

  2. UIStepper swift

    // // ViewController.swift // UILabelTest // // Created by mac on 15/6/23. // Copyright (c) 2015年 fa ...

  3. Java Day 15

    String 字符串对象一旦被初始化就不会被改变  字符串常量池  String s = "abc"; //字符串常量池 String s = new String("a ...

  4. 通过find命令寻找文件并拷贝到一个指定目录方法详解

    有这样的一个需求,需要将一部分符合条件的文件从一个目录拷贝到另一个目录中,可以通过使用find命令从源目录查找到符合条件的文件然后使用cp命令拷贝到目标目录   将通过find命令找到的文件拷贝到一个 ...

  5. Teamwork——Week4 团队分工和预估项目时间

    由于我们给每个组员预估的每天用在该团队项目的时间为2h左右,因此我们的时间计算也已2h为基数.下面就是我们的团队分工和预估项目时间. 任务编号 实现人员 任务详细描述 预估时间 任务0 全体组员 看学 ...

  6. Daily Scrum3

    今天我们小组开会内容分为以下部分: part 1: 汇报之前分配的任务进度: part 2:分配明天的任务. ◆Part 1 组员进度报告 彭佟小组完成的优化目标:     关于软件防滥用及垃圾信息拦 ...

  7. 软件工程——四则运算3(C#)

    一.设计思想 设计两个窗体,在第一个窗体中选择功能参数,在第二个窗体中显示所出题目. 二.源代码 Form1.cs: using System; using System.Collections.Ge ...

  8. snmp安装配置

    只说一下在ubuntu下如何进行基本的配置. ubuntu Server 12.04 apt-get install snmp snmpd 安装完成之后还要安装snmp-mibs-downloader ...

  9. 【转】#ifdef _DEBUG用法小结

    原文地址:http://blog.csdn.net/shijizhisheng/article/details/1908054 1 #ifdef _DEBUG virtual void AssertV ...

  10. SL410K 在Ubuntu禁用触摸板

    由于之前把系统自带的恢复去了,然后TouchPad一直不能禁用,而后我的410k就只装上ubuntu,想不到在ubuntu上,禁用/启用 触摸板这么方便. http://askubuntu.com/q ...