由于去实习过后,发现真正的后台也要懂前端啊,感觉javascript不懂,但是之前用过jQuery感觉不错,很方便,省去了一些内部函数的实现。

看了这一本《深入PHP与jQuery开发》,感觉深入浅出,值得推荐。

Chapter1.jQuery简介

1.jQuery工作方式本质

先创建一个jQuery对象实例,然后对传递给该实例的参数表达式求值,最后根据这个值作出相应的响应或者修改自身。

2.利用CSS语法选择dom元素(基本选择器)

我们知道,jQuery说白了就是对网页上的内容进行选择器的新建与操作。

  • 通过标签类型选择元素

直接选用标签的元素来作为选择器:

$("p")
  • 通过class选择元素

通用格式:.class

$(".foo")
  • 通过ID选择元素

通用格式:#id

$("#bar")
  • 使用组合选择题

只要元素匹配组合选择器中任意一个选择器,都会被选中并出现在返回结果中:

$("p.foo,#bar")

3.层次选择器

  • 选择后代元素

祖先元素  后代元素

例:选择body下的span元素

>>>$("body span")
  • 选择子元素

父元素>子元素(只匹配直接子元素)

>>>$("body>span")
>>>[]
  • 选择下一个兄弟(next)元素

起始元素标识+下一个兄弟元素标识

注意是在DOM中选择一个元素之后紧跟的下一个兄弟元素!!

>>>$(".foo+p");
  • 选择兄弟元素

兄弟元素(sibling elements)是指被同一个元素包裹的同一级全部元素。选择兄弟元素非常类似于选择下一个元素,只是它返回起始元素之后匹配的全部兄弟元素,而不是只返回下一个。

起始元素标识~匹配兄弟元素

>>>$(".foo~p");

4.基本过滤器

  • 选择第一个或最后一个元素

只要在任意选择器之后追加:first或:last即可:

>>>$("p:first");
>>>$("p:last");
  • 选择不匹配某个选择器的元素

使用:not()过滤器。

>>>$("p:not(.foo)");
  • 选择索引为奇数或偶数的元素

:even 和 :odd

>>>$("p:odd");
>>>$("p:even");
  • 选择特定索引的元素

:eq()过滤器。

>>>$("p:eq(3)");

5.内容过滤器

  • 匹配包含特定文本的元素

要匹配包含特定文本的元素,使用:contains()过滤器。(仅匹配标签内的文本)

>>>$("p:contains(Another)");
  • 匹配包含特定元素的元素

:has()过滤器用来匹配包含特定元素的元素。

>>>$("p:has(span)");
  • 选择空元素

:empty()选择出那些不包含任何文本也不包含任何其他元素的空元素。

>>>$(":empty");
  • 选择父元素

与:empty相反,:parent只匹配那些拥有子元素的元素,不管它包含的是其他元素,还是文本内容,或者兼而有之。

>>>$("p:parent");

6.可见性过滤器

利用:hidden和:visible,分别用来选择被隐藏的元素和可看到的元素。

>>>$("p:visible");  //可见的
>>>$("p:hidden"); //隐藏的

7.属性过滤器

  • 根据属性及属性的值选择元素:

[属性名=属性值]

>>>$("[class=foo]");
  • 选择没有某个属性的元素或属性值不匹配的元素

[属性名!=属性值]

$("[class!=foo]");

8.子元素过滤器

  • 匹配奇数索引值/偶数索引值/特定索引值的元素

:nth-child()在匹配元素时提供了4个参数:even,odd,index和equation。

>>>$("p:nth-child(odd)");
>>>$("p:nth-child(even)");
  • 选择第一个或最后一个子元素

使用:first-child;last-child

>>>$("p span:last-child");

关于选择器:last()和:last-child()的区别:

这两个选择器都是匹配集合中的最后一个元素,差别在于 :last 将匹配所有的集合中的最后一个元素。而 :last-child 将匹配集合中的所有位置为最后一个的子元素。:last 将永远返回一个元素,而 :last-child可能返回一批元素。

9.表单过滤器

目前可用的表单选择器(暗含对input框内type的选择)有:button,:checkbox,:file,:image,:input,:password,:radio,:submit,:text.

如:

>>>$("input:radio");
  • 匹配可用或禁用的表单元素
>>>$(":enabled");
>>>$(":disabled");
  • 匹配选中或未选中的表单元素

过滤器:checked和:selected分别用于获取checked为真和selected为真的表单元素。

>>>$(":checked");
>>>$(":selected");

就这样吧。

《深入PHP与jQuery开发》读书笔记——Chapter1的更多相关文章

  1. Flask Web开发读书笔记

    开篇:目前想自学Flask Web开发--基于Python,找了几本书准备啃啃,同时也会分享读书笔记.希望和大家一起进步. Flask是小型框架,可以算是微框架,但是他的功能还是比较多 Flask有三 ...

  2. 锋利的jQuery--编写jQuery插件(读书笔记五)[完结篇]

    1.表单验证插件Validation   2.表单插件Form   3.动态事件绑定插件livequery 可以为后来的元素绑定事件   类似于jQuery中的live()方法     4.jQuer ...

  3. jQuery开发技术笔记

    HTML DOM 加载步骤    1. 解析 HTML 结构     2.加载外部脚本和样式表文件     3.解析并执行脚本代码     4.构造 HTML DOM 模型     5.加载图片等外部 ...

  4. 《锋利的jQuery》读书笔记(DOM+事件)

    前阵子买了一批书,就从锋利的jQuery看起吧,书中一些太过常规以及没有强记必要性的操作就不记录了. 1.DOM加载后执行JS $(document).ready(function(){ //.... ...

  5. 《锋利的jQuery》读书笔记

    jQuery理念:write less, do more! 第 一 章一:jQuery简介 a:轻量级 b:强大选择器 c:DOM封装 d:ajax封装 e:不污染顶级变量 只建立一个jQuery对象 ...

  6. <<敏捷开发>>读书笔记

    1.走进敏捷 * 组织成功 增加业务专家,较少bug和测试的交流成本,即使取消不好的技术 首先发布最有价值的特性,时常发布新的版本,即使改进软件 * 技术成功 结对编程,代码审核,确保同一份代码有不同 ...

  7. 【锋利的Jquery】读书笔记十一

    项目进度太赶,天天公司加班12小时,没时间看书充电.2016年再更新一篇吧.现在凌晨2点36分. 2017加油哦 jquery合适的选择器 $("#id") 无疑是最佳提高性能的方 ...

  8. 【锋利的Jquery】读书笔记七

    第七章  jquery插件 管理cookie的插件--cookie jquery插件太多没什么好讲的,百度太多 说以下 cookie插件 <!DOCTYPE html> <html& ...

  9. 【锋利的Jquery】读书笔记六

    ajax优点缺点 json格式的严格 { "people": [ { "firstName": "Brett", "lastNam ...

随机推荐

  1. POJ2289-Jamie's Contact Groups-二分图多重匹配-ISAP

    注意POJ数组越界可能返回TLE!!! 网络流的maxn大小要注意 其他没什么了 裸二分答案+isap乱搞 不过复杂度没搞懂 V=1e3 E = 1e5 那ISAP的O(V^2E)怎么算都不行啊 /* ...

  2. GDB调试汇编栈堆过程的学习

    前期调试 我的程序代码是: 首先,用gcc g gdb.c -o gdb -m32产生32位汇编. 输入gdb gdb进入gdb调试器 在main函数处设置一个断点:b main 用disassemb ...

  3. JS的解析机制

    JS的解析机制,是JS的又一大重点知识点,在面试题中更经常出现,今天就来唠唠他们的原理.首先呢,我们在我们伟大的浏览器中,有个叫做JS解析器的东西,它专门用来读取JS,执行JS.一般情况是存在作用域就 ...

  4. mysql慢查询分析工作pt-query-digest的使用

    一.简单安装 wget percona.com/get/pt-query-digest chmoe u+x pt-query-digest 二.简单使用 ./pt-query-digest /var/ ...

  5. JavaScript并非“按值传递”

    置顶文章:<纯CSS打造银色MacBook Air(完整版)> 上一篇:<拥Bootstrap入怀--模态框(modal)篇> 作者主页:myvin 博主QQ:85139910 ...

  6. 魅蓝Note2 在Android Studio 与 Eclipse中无法被检测到

    昨天到手的Note2 结果发现测试不了,一看魅蓝的版本是android 5.1,然后更新的自己的SDK. 最后…… 仍然不能识别到手机. ———————————— 今天在stackoverflow上搜 ...

  7. 微信小程序开发:http请求

    在微信小程序进行网络通信,只能和指定的域名进行通信,微信小程序包括四种类型的网络请求. 普通HTTPS请求(wx.request) 上传文件(wx.uploadFile) 下载文件(wx.downlo ...

  8. 第三十三课:jQuery Deferred详解1

    之前我们讲了Mochikit Deferred,JSDeferred,现在讲jQuery Deferred.首先,我们先来讲下他们的区别: 在保存回调函数时,Mochikit Deferred(doj ...

  9. 自定义的 ListBoxItem 自适应ListBox的宽度

    主要是要设置HorizontalContentAlignment的值,而不是HorizontalAlignment <ListBox x:Name="xxx"> < ...

  10. hibernate事务

    hibernate事务 9.3 Hibernate的事务管理 事务(Transaction)是工作中的基本逻辑单位,可以用于确保数据库能够被正确修改,避免数据只修改了一部分而导致数据不完整,或者在修改 ...