jq总结
总述
jQuery 框架提供了很多方法,但大致上可以分为3 大类:
- 获取jQuery 对象的方法
- 在jQuery 对象间跳转的方法
- 获取jQuery 对象后调用的方法
获取 jQuery 对象
是怎样获取jQuery 对象。大致来说,是通过最核心的$()方法,将页面上的元素(或者在页面上不存在的 html 片段)包装成 jQuery 对象。$()方法里面支持的语法又包括:
- 分别是表达式(包括类表达式.,id 表达式#,元素表达式等)
- 符号(包括后代符号space,next 符号+等)
- 过滤器(包括:过滤器和[]过滤器)
- 现在显然还有更多
通过以上组合,通过选择器 $() 可”查询“得到 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总结的更多相关文章
- jq选择器基础
Jquery $代表选择器 使用jq必须要导入jq文件 <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js&qu ...
- JQ实现判断iPhone、Android设备
最近做了一版微信宣传页,通过JQ来判断设备,并进行下载 微信内置浏览器对下载链接进行了屏蔽,所以先进行判断,如果是微信内置浏览器,则跳转应用宝链接,如果不是,则判断是iPhone/Adroid/PC ...
- jq.validate隐藏元素忽略验证
jq.validate隐藏元素忽略验证 现在有这样一个需求,当触发某类事件时候,需要在页面中显示input框,但是当不需要加载页面中的元素时候,进行隐藏.在这个需求的前提下,程序中对于input中的输 ...
- jq.validate 自定义验证两个日期
jq.validate 自定义验证两个日期 首先定义有一个表单,date1和date2是属于表单的元素,若date1大于date2,返回false:若date1<date2,返回true.使用j ...
- jq方法中 $(window).load() 与 $(document).ready() 的区别
通过自学进入了前端的行列,只知道在js中,一开头就写一个: window.onload = function(){ //doing sth} 然后所有的乱七八糟的代码全塞里面,大概知道window.o ...
- jq 根据值的正负变色
效果图这样: 意思就是根据最后的百分值变色,值为负变绿色,值为正变红色. 所以只要取到那个标签里的值了,就能根据正负的判断决定颜色. 我的html部分这样: /*不过他们都说我的dom结构不太合理,同 ...
- jq 个性的隔行变色
效果图大致这样: 我的html格式部分这样:/*不过他们都说我的dom结构不太合理,同意.BUT,我就是不想写表格而写成的这样的,所以后面jq部分也要迁就了*/ <div class=&qu ...
- 关于JQ toggle 的注意事项
1.9.1以后的版本,好像不支持 jq 的 toggle function的用法啦.
- js与jq对数组的操作
一.数组处理 1.数组的创建 var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一个数组并指定长 ...
- js,jq,css选择器
js获取节点: var chils= s.childNodes; //得到s的全部子节点 var par=s.parentNode; //得到s的父节点 var ns=s.nextSbiling; / ...
随机推荐
- 使用Java程序发送Email
目前很多大型的网站忘记登录密码常见的一种形式是使用邮箱找回密码 最近做项目也有这个需求 现在总结一下 以便以后查看 使用到的包有 mailapi.jar smtp.jar 封装发送邮 ...
- 【iOS-Android开发对照】 之 APP入口
[iOS-Android开发对照]之 APP入口 [图片 Android vs iOS] 提纲 对照分析iOS,Android的入口, iOS,Android的界面单元 为什么要有那样的生命周期 继承 ...
- CSS 边框 阴影 效果
CSS 边框 阴影 效果 以下将css实现阴影效果,以便须要朋友们,直接上代码 #shadow1{ width: 200px; height: 100px; color: white; backgro ...
- Android 获取运营商信息(完整版)-解决高通,MTK等双卡问题
由于国内的运营商问题,双卡手机获取IMSI号问题要根据厂商API 来实现. 下面我们就来做一套完整的分析运营商获取IMSI号逻辑. 1,首先我们要判断手机的平台. 1.1,判断手机是否MTK平台 1 ...
- CGI与FastCGI 转
CGI与FastCGI 当我们在谈到cgi的时候,我们在讨论什么 最早的Web服务器简单地响应浏览器发来的HTTP请求,并将存储在服务器上的HTML文件返回给浏览器,也就是静态html.事物总是不 断 ...
- Python 基础学习
http://www.cnblogs.com/Wxtrkbc/p/5486253.html
- is_numeric漏洞分析
2014年,PHP中is_numeric函数十六进制绕过漏洞引发了一次安全问题 接下来,我们来分析一下这个漏洞的原理 函数介绍: is_numeric — 检测变量是否为数字或数字字符串. 函数原型: ...
- mina编解码(摘录)
一.Mina对编解码的支持 我们知道网络通讯过程实际是对二进制数据进行处理的过程,二进制数据是计算机认识的数据.对于接收到的二进制数据我们需要将其转换成我们所熟悉的数据格式,此过程称为解码(decod ...
- 当winform窗体的Bordestyle设置为None时,鼠标可以拖动窗体的办法
方法一: 1 2015-07-11 16:05:35 Point formPoint;//记录窗体的位置 private void Form1_MouseDown(object sender, Mou ...
- 如何快速学习bootstrap
bootstrap中文网http://www.bootcss.com/解决了我所有使用bootstrap的问题,从0开始,下面的全部链接都是该网站的子链接.例子http://v3.bootcss.co ...