jQuery 是一套JavaScript脚本库,注意 jQuery 是脚本库,而不是脚本框架。"库"不等于"框架"。jQuery 并不能帮助我们解决脚本的引用管理和功能管理,这些都是脚本框架要做的事。

脚本库能够帮助我们完成编码逻辑,实现业务功能。使用 jQuery 将极大的提高编写javascript代码的效率, 让写出来的代码更加优雅, 更加健壮。

使用 jQuery 的这些功能函数,能够帮助我们快速完成各种功能,而且会让我们的代码异常简洁。

javascript脚本在不同浏览器的兼容性一直是 Web 开发人员的噩梦,比如在 jQuery 中就通过统一event对象,让我们可以在所有浏览器中使用event.target获取事件对象。

总结一下,jQuery封装了JavaScript + DOM,可以写的更少做的更多。本文仅对常用内容做一个总结,方便日后把相关知识点快速捡起来。

jQuery语法基本格式:$(selector).action()

链式编程

jQuery速查表

一、选择器(selector)

1、基本选择器

  1. #id
  2. element
  3. .class
  4. * 包含body
  5. selector1,selector2,selectorN 并列选择,组合
  6. $("p").css("color","red")
  7. $("#div1").text("it works")
  8. $(".div2").css("background","yellow")

2、层级选择器

  1. ancestor descendant 所有后代
  2. parent > child 只有儿子
  3. prev + next 后面紧邻的下一个
  4. prev ~ siblings 后面所有的兄弟同辈

3、基本筛选器

  • 针对索引进行筛选
  1. :first 第一个
  2. :even 索引为偶数
  3. :odd 索引为奇数
  4. :eq(index) 索引等于
  5. :gt(index) 索引大于
  6. :lt(index) 索引小于
  7. $("li:first") $("li:even")
  8. $("li:eq(2)") $("li:gt(1)")

其他

  1. :not(selector)
  2. :header
  3. :focus

针对内容进行筛选

  1. :contains(text)
  2. $("div:contains('moumou')")
  3. :empty 选择内容为空的
  4. :has(selector) 如包含P标签
  5. $("div:has(p)").addClass("test");
  • 针对属性进行筛选----重要常用
  1. [attribute] 也可以自定义属性
  2. [attribute=value]
  3. [attr1][attr2][attr3] 多个属性并列
  4. <div id="div1" selfdefine="moumou"/>
  5. $("div[selfdefine]")
  6. $("div[id='div1']")
  • 针对表单进行筛选
  1. :input
  2. :checkbox
  3. $("input")
  4. 等价于
  5. $(":input")
  6. $("[type='text']")
  7. 等价于
  8. $(":text")
  9. $("input[type='checkbox']")
  10. 等价于
  11. $(":checkbox")

针对表单对象属性筛选

  1. :enabled
  2. :disabled 禁用标签
  3. :checked
  4. :selected
  5. $("input:checked")
  6. $("select option:selected")

二、筛选器

过滤筛选器

  1. \\通过索引过滤
  2. eq(index|-index)
  3. first()
  4. last()
  5. hasClass(class)
  6. $("p:eq(1)").css("fontSize","30px")
  7. $("p").eq(1).css("fontSize","30px")
  8. //优势后者不需要字符串拼接

查找筛选器

  1. children([expr]) 只有儿子,没有孙子
  2. find(e|o|e) 所有后代
  3. $("div").children(".test") $("div").find(".test")
  4. next([expr]) 紧邻的下一个
  5. nextAll([expr]) 下面的所有满足条件的集合
  6. nextUntil([e|e][,f]) 到**为止
  7. $(".test").next() $(".test").nextAll() $(".test").nextUntil()
  8. prev([expr]) 紧邻的上一个
  9. prevall([expr])
  10. prevUntil([e|e][,f])
  11. $("div").prev() $("div").prevAll() $("div").prevUntil()
  12. parent([expr]) 父亲
  13. parents([expr]) 父亲爷爷等祖先
  14. parentsUntil([e|e][,f])
  15. $(".test").parent() $(".test").parents() $(".test").parentUntil()
  16. siblings([expr]) 后面的兄弟
  17. $("div").siblings()

三、操作元素(action)

1、 属性操作

  1. //HTML代码/文本/值
  2. $("p").text()
  3. $("p").html()
  4. $(":checkbox").val()
  5. $(".test").attr("attr")
  6. $(".test").attr("attr","value")
  7. $(".test").attr("checked","checked")
  8. $(":checkbox").removeAttr("checked")
  9. $(".test").prop("checked",true)
  10. $(".test").addClass("hide")
  11. $(".test").removeClass("hide")

取消全选的实例


  1. <button onclick="selectAll();">全选</button>
  2. <button onclick="cancel();">取消</button>
  3. <button onclick="reverse();">反选</button>
  4. <table border="1">
  5. <tr>
  6. <td><input type="checkbox"></td>
  7. <td>11111</td>
  8. </tr>
  9. <tr>
  10. <td><input type="checkbox"></td>
  11. <td>11111</td>
  12. </tr>
  13. <tr>
  14. <td><input type="checkbox"></td>
  15. <td>11111</td>
  16. </tr>
  17. </table>
  18. <script src="jquery-1.8.2.js"></script>
  19. <script>
  20. function selectAll() {
  21. $("table :checkbox").prop("checked",true)
  22. }
  23. function cancel() {
  24. $("table :checkbox").prop("checked",false)
  25. }
  26. function reverse() {
  27. $("table :checkbox").each(function(){
  28. if ($(this).prop("checked")){
  29. $(this).prop("checked",false)
  30. }
  31. else {
  32. $(this).prop("checked",true)
  33. }
  34. })
  35. }
  36. </script>

each 函数需要注意的问题:

  1. // each return 退出与外层函数无关
  2. // each return false 提示each退出
  3. function f1(){
  4. var li=[11,22,23,44]
  5. //x,y索引和值
  6. $.each(li,function (x,y) {
  7. console.log(y);
  8. if (x == 1){
  9. return false;
  10. }
  11. });
  12. return
  13. console.log("ok");
  14. }

2、CSS操作

(样式) css("{color:'red',backgroud:'blue'}")

(位置) offset() position() scrollTop() scrollLeft()

(尺寸) height() width()

  1. //scrollTop距离顶部的距离
  2. window.onscroll=function(){
  3. var current=$(window).scrollTop();
  4. console.log(current)
  5. }

3、文档处理

内部插入

  1. append()
  2. appendTo()
  3. $("#c1").append("<b>hello</b>")
  4. $("p").appendTo("div")
  5. prepend()
  6. prependTo()

外部插入

  1. before() insertBefore()
  2. after insertAfter()
  3. replaceWith() 替换
  4. remove() 删除标签
  5. empty() 清空内容
  6. clone() 复制某标签

4、事件

整个文档拓扑结构加载再执行js代码

  1. // 所有函数放入其中,需要等待整个文档加载完,避免找不到
  2. $(document).ready(function(){...})
  3. $(function(){...})

绑定事件

  1. //js中的写法
  2. <button class="result" onclick="show(this)"></button>
  3. function show(self){
  4. self.lalalala;
  5. }
  6. //jQuery的写法
  7. $(".result").click(function(this){
  8. this.lalalala;
  9. })
  10. $("p").click(function(){})
  11. $("p").bind("click",function(){})
  12. //用的时候再绑定事件 事件委托
  13. $("ul").delegate("li","click",function(){})

jQuery从入门到忘记的更多相关文章

  1. 从零开始学习jQuery (一) 入门篇

    本系列文章导航 从零开始学习jQuery (一) 入门篇 一.摘要 本系列文章将带您进入jQuery的精彩世界, 其中有很多作者具体的使用经验和解决方案,  即使你会使用jQuery也能在阅读中发现些 ...

  2. JQuery Mobile入门——设置后退按钮文字(转)

    http://www.tuicool.com/articles/AZnYVz JQuery Mobile入门——设置后退按钮文字 时间 2013-01-09 20:24:28  CSDN博客原文  h ...

  3. 极客技术专题【007期】:jQuery初学者入门 - jQuery Event

    日期:2013-8-19  来源:GBin1.com 技术专题介绍 专题:jQuery初学者入门[第三讲:jQuery Event] 分享人:极客标签技术编辑 -Lana (请站内关注分享人) 授课时 ...

  4. jQuery Mobile 入门基础教程

    jQuery Mobile是jQuery在手机上和平板设备上的版本.jQuery Mobile 不仅会给主流移动平台带来jQuery核心库,而且会发布一个完整统一的jQuery移动UI框架. jQue ...

  5. jQuery的入门与简介

    jQuery的入门与简介<思维导图>   <初学者请各位高手指点指点> jQuery是继Prototype之后又一个优秀的JavaScript库,在JavaScript基础上我 ...

  6. jQuery UI 入门之实用实例分享

    jQuery UI 入门 jQuery UI 简介 jQuery UI 是一个建立在 jQuery JavaScript 库上的小部件和交互库,您可以使用它创建高度交互的 Web 应用程序.无论您是创 ...

  7. jQuery UI 入门之实用实例

    jQuery UI 入门 jQuery UI 简介 jQuery UI 是一个建立在 jQuery JavaScript 库上的小部件和交互库,您可以使用它创建高度交互的 Web 应用程序.无论您是创 ...

  8. 第一百九十一节,jQuery EasyUI 入门

    jQuery EasyUI 入门 学习要点: 1.什么是 jQuery EasyUI 2.学习 jQuery EasyUI 的条件 3.jQuery EasyUI 的功能和优势 4.其他的 UI 插件 ...

  9. day 48 jQuery快速入门

    jQuery快速入门   jQuery jQuery介绍 1.jQuery是一个轻量级的.兼容多浏览器的JavaScript库. 2.jQuery使用户能够更方便地处理HTML Document.Ev ...

随机推荐

  1. Azure IoT Hub和Event Hub相关的技术系列-索引篇

    Azure IoT Hub和Event Hub相关的技术系列,最近已经整理了不少了,统一做一个索引链接,置顶. Azure IoT 技术研究系列1-入门篇 Azure IoT 技术研究系列2-设备注册 ...

  2. C# 字典 Dictionary

    原文地址http://www.cnblogs.com/txw1958/archive/2012/11/07/csharp-dictionary.html  侵删

  3. 用css3过滤做遮罩效果

    <!DOCTYPE html><html ng-app="myApp" ng-controller="myController">< ...

  4. Embedding R-generated Interactive HTML pages in MS PowerPoint(转)

    Usually when I create slide decks these days I used markdown and slidy.  However, I recently was ask ...

  5. sChart.js:一个小型简单的图表库

    介绍 sChart.js 作为一个小型简单的图表库,没有过多的图表类型,只包含了柱状图.折线图.饼状图和环形图四种基本的图表.麻雀虽小,五脏俱全.sChart.js 基本可以满足这四种图表的需求.而它 ...

  6. java GUI (课堂笔记)

    关于java GUI Swing组件: JFrame 窗口组件 JLabel 标签 JButton 按钮组件 JTextField 单行文本框 系统控件(JDK自带) 自定义控件(模仿系统控件): 继 ...

  7. Nginx上部署HTTPS

    Nginx上部署HTTPS依赖OpenSSL库和包含文件,即须先安装好libssl-dev,且ln -s /usr/lib/x86_64-linux-gnu/libssl.so  /usr/lib/, ...

  8. 16.3Sum Closet

    思路: 暴力,复杂度为 \(O(n^3)\),超时 class Solution { public: int threeSumClosest(vector<int>& nums, ...

  9. eclipse 好用的插件总结

    改变eclipse的背景色,各种关键词颜色的插件. color theme. 在mac下最好是通过手动复制粘贴jar文件到, eclipse的plugins下面. 通过Install new soft ...

  10. docker- 构建 oracle2c-r2(12.2.0.1) 的镜像

    需求 由于公司要数据库需要使用新的oracle版本(12c-r2 ->12.2.0.1),需要从之前的oracle11g迁移到12c.所以,我们今天就先来介绍一下如何构建oracle12c的镜像 ...