《jQuery实战(第二版)》读书笔记
第一部分 jQuery核心
1、jQuery基础
第一章总结了jquery的大致功能,基本原理,使用方式。
point:
(1)、引入:<script type="text/javascript" src="http://libs.baidu.com/jquery/1.9.1/jquery.js">
(2)、强大的选择器:var checkedValue = $('[name="someRadioGroup"]:checked').val();用于选择分组名为someRadioGroup的单选按钮中被选中的按钮的值。更高级选择器:$("p:even")选择所有偶数行的p元素、$("tr:nth-child(1)")选择每个表格的第一行元素、$("body > div:has(a)")选择body中的直接子节点中包括a标签的div元素。
(3)、实用函数。jQuery会提供一些实用函数,例如trim等便于编写jQuery插件等。
(4)、文档就绪处理机制。由于window.onload = function () { // 触发脚本}该方法需要将文档完全加载完成,包括外部资源之后才可以执行脚本。而使用$(document).ready(function() { //加载完毕后触发的脚本} ),则是在DOM树加载完毕之后就可以触发,页面加载延迟问题得以优化。
(5)、创建DOM元素。$("<p>HI<p>").insertAfter("#followMe")可通过$()函数直接创建,并通过insertAfter函数将新创建的DOM元素放在指定元素后。
(6)、拓展jQuery。为了保持功能的简洁和高可用性,jQuery并未提供满足用户所有需求的函数,不过为用户提供了自定义函数方法来拓展$包装器。
$.fn.disable= function() { //自定义函数实现
return this.each( function () {
if ( this.disable != null) this.disable = true;
//XXX != null 会正确的测试null和undefined
});
}。
返回each方法的执行结果(即包装器),保持jQuery的函数特性,支持链式操作。
(7)、jQuery与其他库共存。当$或者jQuery全局变量发生冲突的时候,调用jQuery.noConflict()函数。
2、选择要操作的元素
第二章玩转选择器,从选择器到创建新元素再到管理包装集。
(1)、$(selector)或$(selector,'div#sampleDOM'),第一个参数为选择器,第二个参数为操作的上下文,如果省略的话,上下文为" * "即整个document。例中表示的是在id为sampleDOM的div元素的子集中选择符合选择器selector的元素。
(2)、选择器。标签选择器li,id选择器#id,类选择器.class,按照DOM之间层级关系选择,以及自定义选择器等。
a、其中基础选择器有:
* 匹配所有元素;
E 匹配标签名为E的所有元素,如$("div");
E F 匹配E的子节点中标签名为F的所有元素,如$("div p");
E>F 匹配E的直接子节点中标签名为F的所有元素,如$("div>p");
E+F 匹配E后边的第一个兄弟元素中标签名为F的所有元素,如$("li+li");
E~F 匹配E后边的所有兄弟元素中标签名为F的所有元素,如$("li~li");
E .C 匹配E的所有元素中类名为C的元素,如$("div .sampleClass");
E #I 匹配E的所有元素中ID为I的元素,如$("div #ID");
E[A] 匹配E的所有所有元素中含有A属性的元素,如$("a[href]");
E[A=V] 匹配E的所有元素中A属性的值为V的元素,如$("a[href='url']");
E[A^=V] 匹配E的所有元素中A属性值以V开头的元素,如$("a[href^='my']");
E[A$=V] 匹配E的所有元素中A属性值以V结尾的元素,如$("a[href$='.html']");
E[A!=V] 匹配E的所有元素中A属性值以V结尾的元素,如$("a[href!='url']");
E[A*=V] 匹配E的所有元素中A属性值以V结尾的元素,如$("a[href*='jquery']");
b、通过位置选择:
:even,:odd,:first,:last,:first-child,:last-child 如字面意思;
:nth-child(n) 匹配上下文中的第n个子节点,可以拓展为函数式例如:nth-child(5n+1) ;
:eq(n) 第n个元素,:gt(n) 第n个元素之后的(不包含n),:lt(n) 第n个元素之前的(不包含n);
注意:nth-child(n)是从1开始计数,而其他的选择器是从0开始计数。
c、自定义选择器
:animated 选择处于动画状态的元素;
:button 选择按钮元素(包括button以及input中type为submit、reset、button的元素);
:checkbox 选择复选框元素(input[type = checkbox]) ;
:checked 选择处于选中状态的复选框或者单选按钮元素;
:contains(food) 选择包含文本food的元素;
:disabled / :enabled 选择处于禁用 / 启用状态的元素;
:file 选择文件输入元素(input[type = file]);
:has(selector) / not(selector) 选择 至少包含一个 / 没有包含 选择器选中的元素 的元素;
:header 选择标题元素 <h1>到<h6>;
:hidden / :visible 选择隐藏 / 可见元素;
:image 选择图片输入元素(input[type = image]);
:input 选择表单元素(input、select、textarea、button);
:parent 选择有子节点(包含文本)的元素,空元素除外;(是:empty的取反);
:password 选择口令元素(input[ type = password ]);
:radio 选择单选框元素(input [ type = radio ]);
:reset 选择重置按钮元素(input[ type = reset ] 或者 button[ type = reset ]);
To Be Continue!!
《jQuery实战(第二版)》读书笔记的更多相关文章
- csapp读书笔记-并发编程
这是基础,理解不能有偏差 如果线程/进程的逻辑控制流在时间上重叠,那么就是并发的.我们可以将并发看成是一种os内核用来运行多个应用程序的实例,但是并发不仅在内核,在应用程序中的角色也很重要. 在应用级 ...
- CSAPP 读书笔记 - 2.31练习题
根据等式(2-14) 假如w = 4 数值范围在-8 ~ 7之间 2^w = 16 x = 5, y = 4的情况下面 x + y = 9 >=2 ^(w-1) 属于第一种情况 sum = x ...
- CSAPP读书笔记--第八章 异常控制流
第八章 异常控制流 2017-11-14 概述 控制转移序列叫做控制流.目前为止,我们学过两种改变控制流的方式: 1)跳转和分支: 2)调用和返回. 但是上面的方法只能控制程序本身,发生以下系统状态的 ...
- CSAPP 并发编程读书笔记
CSAPP 并发编程笔记 并发和并行 并发:Concurrency,只要时间上重叠就算并发,可以是单处理器交替处理 并行:Parallel,属于并发的一种特殊情况(真子集),多核/多 CPU 同时处理 ...
- 读书笔记汇总 - SQL必知必会(第4版)
本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...
- 读书笔记--SQL必知必会18--视图
读书笔记--SQL必知必会18--视图 18.1 视图 视图是虚拟的表,只包含使用时动态检索数据的查询. 也就是说作为视图,它不包含任何列和数据,包含的是一个查询. 18.1.1 为什么使用视图 重用 ...
- 《C#本质论》读书笔记(18)多线程处理
.NET Framework 4.0 看(本质论第3版) .NET Framework 4.5 看(本质论第4版) .NET 4.0为多线程引入了两组新API:TPL(Task Parallel Li ...
- C#温故知新:《C#图解教程》读书笔记系列
一.此书到底何方神圣? 本书是广受赞誉C#图解教程的最新版本.作者在本书中创造了一种全新的可视化叙述方式,以图文并茂的形式.朴实简洁的文字,并辅之以大量表格和代码示例,全面.直观地阐述了C#语言的各种 ...
- C#刨根究底:《你必须知道的.NET》读书笔记系列
一.此书到底何方神圣? <你必须知道的.NET>来自于微软MVP—王涛(网名:AnyTao,博客园大牛之一,其博客地址为:http://anytao.cnblogs.com/)的最新技术心 ...
- Web高级征程:《大型网站技术架构》读书笔记系列
一.此书到底何方神圣? <大型网站技术架构:核心原理与案例分析>通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计 ...
随机推荐
- SuperSocket入门(二)- 探索AppServer、AppSession,Conmmand和App.config
在上一篇文章中,我们已经了解到了如何在SuperSocket处理客户端请求. 同时我们可能会发现一个问题,如果我们的服务器端包含有很多复杂的业务逻辑,这样的switch/case代码将会很 ...
- Android中的IPC机制
Android IPC简介 IPC是Inter-Process Communication的缩写,含义就是进程间通信或者跨进程通信,是指两个进程之间进行数据交换的过程.那么什么是进程,什么是线程,进程 ...
- SQL Server-索引故事的遥远由来,原来是这样的?
前言 前段时间工作比较忙,每天回来也时不时去写有关ASP.NET Core的文章,无论是项目当中遇到的也好还是自学的也好都比较严谨的去叙述,喜欢分享,乐于分享这是我一直以来的态度,当然从中也会有些许错 ...
- Socket层上的协议
Socket层上的协议指的数据传输的格式 HTTP协议 传输格式:假设:这是假设,实际http的格式不是这样的. http1.1,content-type:multipart/form-data,co ...
- ubuntu linux 下 mysql 学习笔记
'#' 后为注释 以下为在shell中的操作: 打开终端(terminal)1.登录MySQL mysql-u root -p 输入密码:******2.几个简单的命令 (1)show databas ...
- 微信小程序----关于变量对象data 和 前端wxml取后台js变量值
(一)页面变量对象data 对象data 有两个方面用途 第一,前端wxml的数据渲染是通过设置此对象中定义的变量进行关联展现的 第二,定义JS页面中的页面局部变量,使其整个页面中可使用或调用 对象d ...
- [nginx]Windows和Mac下,nginx反向代理服务器配置
最近做项目,前端需要用到nginx反向代理来转发请求,总结了一下在Windows和Mac上的配置,以备查询. 一.Windows 修改nginx的配置文件,nginx.conf. 1)nginx.co ...
- C++编程练习(15)----“排序算法 之 归并排序“
归并排序 归并排序(Merging Sort)的原理: 假设初始序列含有 n 个记录,则可以看成是 n 个有序的子序列,每个子序列的长度为1,然后两两归并,得到 [n/2] ([ x ] 表示不小于 ...
- WebAppBuilder自定义主题
WebAppBuilder自定义主题 by 李远祥 基本步骤: 创建新主题的文件夹 注册新的主题到manifest.json 文件 覆盖HeaderController 部件的颜色. 覆盖panel的 ...
- Sql 知识点小结
使用数据库的好处: 1.安全 2.支持多用户操作 3.误删数据比较容易恢复 4.存储较大容量的数据MySql: MYsql AB公司开发的数据库, 现在归属Oracle公司,开元的关系型数据库RDBM ...