jQuery总结

核心

  • $(args)
    String 如果含有HTML标记则代表创建元素,否则代表选择器
    Function 页面加载完毕 (DOM结构解析渲染完成)执行的回调函数
    Node 将DOM转换为jQuery Elements
  • $(function(){}) === $(document).ready(function(){})
  • index() 获取匹配元素的下标(尽量带父元素去匹配)
  • length || size() 获取匹配元素的数量(长度)
  • $.fn.extend() 扩展jQuery原型对象(插件开发的常用方法)
  • $.extend([obj],obj1,obj2...,objN) 合并对象
  • $().each(function(){})遍历匹配到的元素数组
  • $.noConflict() 让出$的占用

选择器

-基本选择器
-层次选择器
-内容选择器
-属性选择器
-。。。

与CSS选择器写法基本一致,并扩展了一些常用的选择方法,每一个选择器执行完成后,不论有没有匹配到的元素,都会返回一个(类)数组

DOM处理

  • a.append(b) 将b追加到a的末尾
  • a.appendTo(b) 将a追加到b的末尾
  • a.before(b) 将b添加到a的前面(同辈)
  • a.after(b) 将 b 添加到 a 的后面(同辈)
    -a.insertBefore(b) 将a 添加到b 的前面(同辈)
  • a.insertAfter(b) 将a 添加到b 的后面(同辈)
  • a.wrap(htmlStr) 用hrmlstr 标记包裹 a
    -a.unwrap() 解除 a 的包裹(unwrap并非要先wrap, unwrap 可用于快速移除指定元素的父元素)
  • a.remove() 移除a (从DOM树种移除、事件或者数据也将被移除)
  • a.detach() 移除 a (从DOM树中移除、事件或数据保留。再次追加时依然有效)
  • a.empty() 清空 a 里面的内容
  • a.clone([bol]) 克隆a 元素,传入true 将克隆事件等

CSS

-css()
 -css(String,String) 设置单个样式
 -*css(String)*获取指定样式
 -*css(Object)*以JSON的对象形式设置多个样式,设置样式时,必须驼峰式命名,像素值可以省略px

  • addClass(className) | removeClass(className) 为匹配元素
    添加 / 删除 样式名 如果 添加 / 删除 多个样式名需要用空格分割
  • toggleClass(className) 有 / 无 就删除 / 添加指定的样式名
  • offset() | position() 获取或设置匹配元素的距离 文档或相对定位父元素的左侧和顶部的距离
  • width() | height() 获取元素的实际宽高(css宽高)
  • innerWidth() | innerHeight() 获取元素的宽高 ,含 padding

jQuery

核心

  • $(args)
    • String 如果含有 HTML 标记则代表创建元素 否则代表选择器
    • Function 页面加载完毕(DOM 结构解析渲染完成)执行的回调函数
    • Node 将 DOM 转换为 jQuery Elements
  • $(function(){}) === $(document).ready(function(){})
  • index() 获取匹配元素的下标 (尽量带父元素去匹配)
  • length || size() 获取匹配元素的数量(长度)
  • $.fn.extend() 扩展 jQuery 原型对象(插件开发的常用方式)
  • $.extend([obj],obj1,obj2,…,ojbN) 合并对象
  • $().each(fucntion(){}) 遍历匹配到的元素数组
  • $.noConflict() 让出$的占用

选择器

  • 基本选择器
  • 层次选择器
  • 内容选择器
  • 属性选择器
  • 。。。

与 CSS 选择器写法基本一致,并扩展了一些常用的选择方式,每一个选择器执行完成后,不论有没有匹配到元素,都会返回一个(类)数组

DOM 处理

  • a.append(b) 将 b 追加到 a 的末尾
  • a.appendTo(b) 将 a 追加到 b 的末尾
  • a.before(b) 将 b 添加 a 的前面(同辈)
  • a.after(b) 将 b 添加到 a 的后面(同辈)
  • a.insertBefore(b) 将 a 添加到 b 的前面(同辈)
  • a.insertAfter(b) 将 a添加到 b的后面(同辈)
  • a.wrap(htmlStr) 用 htmlStr 标记包裹 a
  • a.unwrap() 解除 a的包裹(unwrap 并非必须要先 wrap,unwrap 可用于快速移除指定元素的父元素)
  • a.remove() 移除 a(从 DOM 树中移除、事件或数据也将被移除)
  • a.detach() 移除 a (从 DOM 树中移除、事件或数据保留,再次追加时依然有效)
  • a.empty() 清空 a 里的内容
  • a.clone([bol]) 克隆 a 元素,传入 true 将克隆事件等

CSS

  • css()
    • css(String,String) 设置单个样式
    • css(String) 获取指定样式
    • css(Object) 以 JSON 对象形式设置多个样式
    • 设置样式,象素值可以省略 PX,必须驼峰式命名
  • addClass(className) | removeClass 为匹配元素 添加 / 删除 样式名 如果 添加 / 删除 多个 需要用空格分隔
  • toggleClass(className) 有 / 无 就 删除 / 添加 指定的样式名
  • offset() | position() 获取或设置匹配元素的距离 文档 / 相对定位父元素 的 左侧和顶部 的距离,返回一个对象,{left:..,top:..}
  • width() | height() 获取元素的实际宽高(CSS 宽高)
  • innerWidth() | innerHeight() 获取元素的宽高,含 padding
  • outerWidth() | outerHeight() 获取元素的宽高,含 paddin 、 border
  • outerWidth(true) | outerHeight(true) 获取元素的宽高,含 paddin 、 border 、margin
  • scrollTop() | scrollLeft() 获取或设置滚动条距离(要设置,必须由事件触发)

属性

  • attr()
    • attr(String,String) 设置单个属性
    • attr(String) 获取单个属性
    • attr(Object) 设置多个属性
  • removeAttr(attrName) 移除指定属性
  • prop() 与 attr 效果一致(操作添加即为 true 的属性)
  • removeProp()
  • html() 设置或获取元素的 html 内容
  • text() 设置或获取元素的文本内容
  • val() 设置或获取表单元素的值

筛选

  • first()
  • last()
  • eq()
  • chilren()
  • find()
  • parent()
  • hasClass()
  • 最为常用的几个方法,find() children() parent() 等可以接受选择器

事件

  • on(eventName[,委托元素选择器][,data],function(){}) 添加事件
  • off() 移除事件 ( 移除时,需要参数与添加事件时参数一致)
  • delegate()
  • undelegate()
  • bind()
  • unbind()
  • one() 添加只执行一次
  • click()
  • ...
  • hover(overFunction,outFunction) 移入移出事件

AJAX

  • $.get(url[,data][,callback][,dataType])

  • $.post()

  • $.ajax(options)

    • url 要发送请求的地址
    • data 要发送的参数
    • dataType 预期返回的数据格式 xml json html text …
    • success 成功回调函数
    • error 失败回调函数
  • jsonp

    $.ajax({
      url : "xx.com",
      data : {
        a : "a"
      },
      dataType : "jsonp",
      jsonp : "myCallback",//指定传往服务器的参数名 默认为 callback
      jsonpCallback : "test",//指定额外的处理函数,要求全局环境必须存在此函数
      success : function(res){
        
      }
    })
    function test(res){
      
    }
    

工具

  • $.isFunction()
  • $.isArray()
  • $.isPlainObject()
  • $.isNumeric()
  • $.extend()

效果

  • show()
  • hide()
  • slideDown()
  • slideUp()
  • slideToggle()
  • fadeIn()
  • fadeOut()
  • fadeToggle()
  • animate()
  • stop()
  • finish()

其它内容

  • DOMContentLoaded 事件 DOM 元素解析完毕后触发的事件

  • defer | async

    • 什么也不加,脚本同步阻塞加载,加载完毕便执行,此时操作 DOM 不成功
    • async 脚本异步加载,加载完毕后便执行,此时 DOM 结构不一定解析完毕,此时操作 DOM 可能有风险
    • defer 脚本异步加载,加载完毕后不执行,等待 DOM 结构解析完毕(DOMContentLoaded 事件触发)才执行 ,操作 DOM 安全
  • requestAnimationFrame(func) 关键帧动画(新的 API)

  • Array.prototype.xxx = function() 扩展 javascript 内置对象

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,723评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,003评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,512评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,825评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,874评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,841评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,812评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,582评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,033评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,309评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,450评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,158评论 5 341
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,789评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,409评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,609评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,440评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,357评论 2 352

推荐阅读更多精彩内容

  • 一、样式篇 第1章 初识jQuery (1)环境搭建 进入官方网站获取最新的版本 http://jquery.co...
    凛0_0阅读 3,376评论 0 44
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,747评论 1 92
  • 原文链接 http://blog.poetries.top/2016/10/20/review-jQuery 关注...
    程序员poetry阅读 16,643评论 18 503
  • jQuery基础(一)——样式篇 1-2环境搭建 1-3 jQuery HelloWorld体验 $(docume...
    croyance0601阅读 1,080评论 0 8
  • 我是2016年1月29日下午考的科目二,因为自身觉得考试前对考场并不了解,但却又想要知道。我自己在考试前是希...
    东围居士阅读 2,960评论 0 1