总述

jQuery 框架提供了很多方法,但大致上可以分为3 大类:

  1. 获取jQuery 对象的方法
  2. 在jQuery 对象间跳转的方法
  3. 获取jQuery 对象后调用的方法

获取 jQuery 对象

是怎样获取jQuery 对象。大致来说,是通过最核心的$()方法,将页面上的元素(或者在页面上不存在的 html 片段)包装成 jQuery 对象。
$()方法里面支持的语法又包括:

  1. 分别是表达式(包括类表达式.,id 表达式#,元素表达式等)
  2. 符号(包括后代符号space,next 符号+等)
  3. 过滤器(包括:过滤器和[]过滤器)
  4. 现在显然还有更多

通过以上组合,通过选择器 $() 可”查询“得到 jQuery 对象(或者jQuery 对象的集合)。

对象跳转

是在jQuery 对象间的跳转。也就是说,已经得到了一个jQuery 对象,但并不是想要的,那么可以通过一系列的跳转方法,比如parent()、next()、children()、find()等,或者过滤筛选的方法,比如eq、filter()、not()等,来得到最终想要操作的jQuery 对象。

用跳转和过滤方式得到的jQuery 结果,往往通过比较复杂的表达式组合,可以达到同样的目的。
比如说 $("div").eq(3),也可以用$("div:eq(3)") 达到同样的目的。
又比如说$("div").find("span"),可以用$("div span")取到同样的元素。
方法是很灵活的,要根据具体的情况来选择。根据经验来说,HTML 页面写得越规范,使用 jQuery 就越简单。

还有一种情况,在得到了jQuery()对象之后,想要判断其是否满足条件,那么可以调用 is()、hasClass()等方法,返回一个boolean 值,进行后续的判断。这类方法也可以归到这类。

方法调用

在获取准确的 jQuery 对象之后,调用其上的各种方法,来进行操作。这一步反而是比较简单的了。
后面就是对 jQuery 框架各种方法的简要介绍。

常用API

$(…);

/**
* 一切的核心,可以跟4 种参数。
*/
$(); /**
* 返回jQuery 对象或者jQuery 对象的集合
* 比如$("#id")、$(".class")
*/
$(expression); /**
* 返回jQuery 对象,或者jQuery 对象的集合
* 比如$("<span>hello world</span>")
*/
$(html) /**
* 返回jQuery 对象,或者jQuery 对象的集合
* 比如$(document.body)
*/
$(element) /**
* 所有元素
*/
$(*)

jQuery 对象获取


/**
* 返回该jQuery 对象在集合中的索引
*/
jQuery.index(element); /**
* 遍历jQuery 对象集合,在每个对象上执行 callback 函数,
* function callback(index, domElement){
* this //DOMElement
* };
*/
jQuery.each(function); /**
* 返回 jQuery 对象集合的大小
*/
jQuery.size(); /**
* 相当于size()方法
*/
jQuery.length /**
* 获取原生 DomElement 对象的 Array,
* 即将 jQuery 对象转成 数组对象,
* 虽然 jQuery 对象也有 length 属性,且可用下标读写
* 但并非是数组对象。
*/
jQuery.get() /**
* 获取原生 DomElement 对象
*/
jQuery.get(index) /**
* 获取 jQuery 对象集合中的一个 jQuery 对象
*/
jQuery.eq(position)

Data 相关方法

在匹配的元素身上存值(store data), .data() 方法允许在我们以一种安全的方式附加数据到 dom 元素,不会产生循环引用和内存泄露。

jQuery.data(name)        // 取值
jQuery.data(name, value) // 赋值
jQuery.removeData(name) // 清理 $( "body" ).data( "foo", 52 );
$( "body" ).data( "bar", { myType: "test", count: 40 } );
$( "body" ).data( { baz: [ 1, 2, 3 ] } );
$( "body" ).data( "foo" ); // 52
$( "body" ).data(); // { foo: 52, bar: { myType: "test", count: 40 }, baz: [ 1, 2, 3 ] }

jq总结的更多相关文章

  1. jq选择器基础

    Jquery $代表选择器 使用jq必须要导入jq文件 <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js&qu ...

  2. JQ实现判断iPhone、Android设备

    最近做了一版微信宣传页,通过JQ来判断设备,并进行下载 微信内置浏览器对下载链接进行了屏蔽,所以先进行判断,如果是微信内置浏览器,则跳转应用宝链接,如果不是,则判断是iPhone/Adroid/PC ...

  3. jq.validate隐藏元素忽略验证

    jq.validate隐藏元素忽略验证 现在有这样一个需求,当触发某类事件时候,需要在页面中显示input框,但是当不需要加载页面中的元素时候,进行隐藏.在这个需求的前提下,程序中对于input中的输 ...

  4. jq.validate 自定义验证两个日期

    jq.validate 自定义验证两个日期 首先定义有一个表单,date1和date2是属于表单的元素,若date1大于date2,返回false:若date1<date2,返回true.使用j ...

  5. jq方法中 $(window).load() 与 $(document).ready() 的区别

    通过自学进入了前端的行列,只知道在js中,一开头就写一个: window.onload = function(){ //doing sth} 然后所有的乱七八糟的代码全塞里面,大概知道window.o ...

  6. jq 根据值的正负变色

    效果图这样: 意思就是根据最后的百分值变色,值为负变绿色,值为正变红色. 所以只要取到那个标签里的值了,就能根据正负的判断决定颜色. 我的html部分这样: /*不过他们都说我的dom结构不太合理,同 ...

  7. jq 个性的隔行变色

      效果图大致这样: 我的html格式部分这样:/*不过他们都说我的dom结构不太合理,同意.BUT,我就是不想写表格而写成的这样的,所以后面jq部分也要迁就了*/ <div class=&qu ...

  8. 关于JQ toggle 的注意事项

    1.9.1以后的版本,好像不支持 jq 的 toggle function的用法啦.

  9. js与jq对数组的操作

    一.数组处理 1.数组的创建  var arrayObj = new Array(); //创建一个数组  var arrayObj = new Array([size]); //创建一个数组并指定长 ...

  10. js,jq,css选择器

    js获取节点: var chils= s.childNodes; //得到s的全部子节点 var par=s.parentNode; //得到s的父节点 var ns=s.nextSbiling; / ...

随机推荐

  1. Java appendReplacement 和 appendTail 方法

    Matcher 类也提供了appendReplacement 和appendTail 方法用于文本替换: 看以下的样例来解释这个功能: import java.util.regex.Matcher; ...

  2. 【Apache Kafka】安装指南

    在Ubuntu12.04 server上安装单结点kafka,我的机器上之前已经安装过zookeeper-3.4.5 根据官网的说明:http://kafka.apache.org/07/quicks ...

  3. java web应用下跨域3招

    一.设置服务器端,让ajax能直接调用 服务器端设置 tomcat 设置为例: 在web.xml中添加如下过滤器 <filter> <filter-name>CorsFilte ...

  4. [Javascript + rxjs] Using the map method with Observable

    Like an array, Observable has a map method that allows us to transform a sequence into a new Observa ...

  5. 导入一个AndroidStudio工程作为一个Library Module

    尊重劳动成果,转载请注明出处:http://blog.csdn.net/growth58/article/details/47441245 关注新浪微博:@于卫国 邮箱:yuweiguocn@gmai ...

  6. onInterceptTouchEvent和onTouchEvent调用时序

    onInterceptTouchEvent()是ViewGroup的一个方法,目的是在系统向该ViewGroup及其各个childView触发onTouchEvent()之前对相关事件进行一次拦截,A ...

  7. kernel笔记:TCP参数

    http://blog.chinaunix.net/uid-27119491-id-3346430.html 本文将介绍网络连接建立的过程.收发包流程,以及其中应用层.tcp层.ip层.设备层和驱动层 ...

  8. 【转】cocos2d-x中锚点设置及定位方式

    http://blog.csdn.net/wayne5ning/article/details/8160506 说在前面:以下是基于cocos2d-2.0-x-2.0.3作的总结 问题 在cocos2 ...

  9. Ubuntu 13.10 Rhythmbox 播放器不能播放MP3。安装插件

    Ctrl+Alt+T > sudo apt-get install ubuntu-restricted-extras 因为版权和专利的问题,MP3等一些non-free的格式文件支持没有出现在免 ...

  10. mac下通过docker搭建LEMP环境

    在mac下通过docker搭建LEMP环境境 1.安装virtualbox.由于docker是在lxc环境的容器 2.安装boot2docker,用于与docker客户端通讯 > brew up ...