JQuery 总结
JQuery官方网站
1、JQuery概念
A、Jquery是一个优秀的Javascript框架。它是轻量级的js库 ,它兼容CSS3,还兼容各种浏览器,jQuery2.0及后续版本将不再支持IE6/7/8浏览器。jQuery使用户能更方便地处理HTML documents、events、实现动画效果,并且方便地为网站提供AJAX交互。jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。jQuery能够使用户的html页面保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需定义id即可。
B、JavaScript的缺点:控件的操作方式不统一,不同浏览器容易出观兼容问题。为了简化操作,出现了许多对JavaScript封装的函数库比如Prototype、JQuery等。
C、JQuery的优点:小巧、方便、功能强大。插件丰富、开源、免费。
D、VS在VS2010中已经实现自动完成功能,VS2008需要安装VSSP1补丁和VS90SP1-KB958502-X86补丁才能更好的支持,然后引用jquery-1.4.1.js,jquery-1.4.1-vsdoc.js放在同目录下,VS2008中才会有自动提示和自动完成功能。
E、JQuery文件说明:
jquery-1.4.2.js是JQuery主文件。
jquery-1.4.2.min.js是压缩板JQuery主文件。
jquery-1.4.2-vsdoc.js是JQuery在VS中的自动提示功能。
2、JQuery之Ready
A、JQuery的read和Dom onload的区别:onload是所有Dom元素创建完毕触发,而ready则是Dom元素创建完就触发,这样可以提高网页的响应速度。
3、JQuery内置函数
A、$.map(array, function)函数:对数组array中每个元素调用function函数逐个处理,function函数处理返回一个新的数组。如:
var array = [3, 6, 9];
var arrary2 = $.map(array, function(item) { return item * 2 });
for (var i = 0; i < arrary2.length; i++) {
alert(arrary2[i]);
};
或: alert(arrary2);
注: $.map函数不能处理dictionary风格的数组。
B、$.each(array, function)对array每个元素进行处理,但没有返回值。
var array = ["TOM", "汤姆", "Jerry", "杰瑞"];
$.each(array, function() { alert(this); });
或:
var dict = { "TOM": 20, "Jerry": 50 };
$.each(dict, function(key, value) { alert(key + "=" + value); });
4、JQuery对象与Dom对象
A、JQuery对象是通过对Dom对象的封装产生的对象。
B、Dom对象要想通过JQuery进行操作,需要先转换成JQuery对象。
$(‘#div1’).html等价于:document.getElementByid(‘div1’).innerHTML;
$(‘#div1’)得到的是JQuery对象,JQuery对象可以调用JQuery对象封装的方法,不能调用Dom对象的方法,Dom对象也不能调用JQuery对象的方法。
C、将Dom对象转换成JQuery对象的方法,$(Dom对象)。当调用JQuery没有封装的方法时必须用Dom对象,转换方法:var docobj = jqobj[0]或var domobj=jqobj.get(0)。
D、样式的修改:
JQuery修改样式方法:$(“#div1”).css(“background”, “red”);
JQuery获得样式的方法:$(“#div1”).css(“background”);
修改value值方法:
JQuery修改value方法: $(“#div1”).val(“Dragon”);
JQuery获得value方法: $(“#div1”).val();
5、JQuery选择器
A、JQuery选择器用于查找满足条件的元素,比如可以使用$(“#控件id”)来根据控件id获得控件的JQuery对象。相当于getElementByid。
B、$(“TagName”)来获取所有指定签名的JQuery对象,相当于getElementsByTagName。
C、CSS选择器,同时选择拥有某个样式的多个元素:
$(“.text”).click(function(){alert($(this).text();)});
D、多条件选择器:$(“p,div,span.menuitem”),同时选择p标签、div标签和拥有menuitem样式的span标签。
E、层次选择器:
1、$(“div li”)获取div下的所有li标签(后代,子、子的子标签…)。
2、$(“div > li”)获取div下的直接li子标签。
3、$(“.menuitem + div”)获取样式名为menuitem之后的第一个div标签。
4、$(“.menuitem ~ div”)获取样式名为menuitem之后的所有div标签。
6、JQuery隐式迭代
A、注:如果用隐式迭代就会不容易发现错误。
$(function(){
var elements = $(“#btn1”);
If (elements.length <= 0){
alert(“没有找到提定对象”);
return;
}
elements.mouseover(function(){ alert(“找到了”)});
7、节点遍历
A、next()方法用于获取节点之后的挨着的第一个同辈标签,$(“.menuitem”).next(“div”)、nextAll()方法用于获取节点之后的所有同辈标签。
B、siblings()方法用于获取所有同级标签。
8、链式编程
A、JQuery可以实现链式编程
9、JQuery过滤选择器
A、:first选择第一个标签。$(“div:first”)选取第一个<div>。
B、:last选取最后一个标签。$(“div:last”)选取最后一个<div>。
C、:not选取不满足选择器条件的标签。$(“input:not(.myclass)”)选取样式名不是myclass的<input>标签。
D、:even、:odd,选取索引是奇数、偶数的标签:$(“input:event”)选取索引是奇数的<input>。
E、:eq、:gt、:lt选取索引等于、大于、小于索引序号的标签,比如$(“input:lt(1)”)选取索引小于1的<input>。
F、$(“:header”)选取所有的h1…h6标签。
G、$(“div:animated”)选取正在执行动画的<div>标签。
10、属性过滤选择器
A、$(“div[id]”)选取有id属性的<div>。
B、$(“div[title=test]”)选取title属性为“text”的<div>。
C、$(“div[title!=test]”)选取title属性不为“text”的<div>。
11、表单对象选择器
A、$(“#form1:enabled”)选取id为form1的表单内所有启用的标签。
B、$(“#form1:disabled”)选取id为form1的表单内所有禁用的标签。
C、$(“#form1:checked”)选取所有选中的标签。(checkBox)。
D、$(“#form1:selected”)选取所有选中的选项标签。(下拉列表)。
12、JQuery的Dom操作
A、使用html()方法读取或设置标签的innerHTML:
alert($“a:first”).html());
$(“a:first”).html(“hello”);
B、使用text()方法读取或设置标签的innerText:
alert($(“a:first”).text());
$(“a:first”).text(“hello”);
C、使用att()方法读取或设置标签的属性:
alert($(“a:first”).attr(href”));
$(“a:first”).attr(“href”, http://www.rupeng.com);
D、使用removeAttr删除属性。
13、动态创建Dom节点
A、使用$(html字符串)来创建Dom节点,返回一个JQuery对象,然后调用append方法将新创建的节点添加到Dom中
var link = $(“<a href=’http://www.baidu.com’>百度</a>”);
$(“div:first”).append(link);
Append方法用来在标签的末尾追加标签。
prepend在标签的开始添加标签。
after在标签之后添加标签。
before在标签之前添加标签。
14、删除节点
A、remove()删除选择的节点。
如:清空ul中的项。$(“ul li.testitem”).remove();删除ul下的li id=testitem的标答。
B、remove()方法返回值是被删除的节点对象,还可以继续使用删除的节点。
var lis = $(“#ulsite li”).remove();
$(“#ulsite2”).append(lis);
C、empty()是将节点清空。
15、设定按钮的启用时间
<script type=“text/javescript”>
var leftseconds = 10
var intervalid;
$(function(){
$(“#btnReg”).attr(“disabled”,true);
Intervalid = setInterval(“countDown()”,1000);
}
Function CountDown(){
if(leftseconds <= 0){
$(“#btnReg”).val(“同意”);
$(“#btnReg”).attr(“disabled”,false);
clearIntervalid(Intervalid);
return;
}
Leftseconds--;
$(“#btnReg”).val(“请仔细阅读”+ Leftseconds + “”);
}
</script>
16、样式操作
A、获取样式attr(“class”),设置样式attr(“class”, “myclass”)。
B、追加样式addclass(“myclass”)。
C、移除样式removeclass(“myclass”)。
D、切换样式togleclass(“myclass”)。如果存在则去掉样式,如果不存在则添加。
E、判断样式是否存在:hasclass(“myclass”)。
17、RadioButton操作
A、取RadioButton选中值:
$(“input[name=gender]:checked”).val()
<input id= “radio1” checked= “checked” name= “gender” type= “radio” value= “男” />男
<input id= “radio2” checked= “checked” name= “gender” type= “radio” value= “女” />女
<input id= “radio3” checked= “checked” name= “gender” type= “radio” value= “未知” />未知
B、设置RadioButton选中值:
$(“input[name=gender]”).val([“女”]);
18、事件
A、JQuery中事件的绑定:$(“#btn”).bind(“click”,function(){})。
JQuery用$(“#btn”).click(function(){})来简化。
B、调用事件对象的stopPropagation()方法终止事件冒泡。
C、阻止默认行为: 比如超链接点击后会转向新的链接。如果想阻止默认行为只要调用事件对象的preventDefault()方法。
D、属性:pageX、pageY、target获得触发事件的元素(冒泡的起始,和this不一样)。
which如果是鼠标事件获得按键(1左键,2中键,3右键)。
altKey、shiftKey、ctrlKey获得alt、shift、ctrl是否按下,为bool值。
keyCole、charCode属性发生事件时的keyCode、charCode。
E、移除事件绑定:unbind()方法即可移除元素上绑定的事件,如果bind(“click”)则移除click事件的绑定。
F、一次性事件:如果绑定的事件只想执行一次随后立即unbind可以使用one()方法进行绑定。
19、动画
A、show、hide()方法用于显示、隐藏标签。用toggle()方法在显示、隐藏之间切换。
$(“:button[value=show]”).click(function(){$(“div”).show();});
$(“:button[value=hide]”).click(function(){$(“div”).hide();});
B、show、hide可以带参数使用。fast(200毫秒)、normal(400毫秒)、slow(600毫秒)。
20、JQuery cookie
A、使用方法:
1、添加对jquery.cookie.js引用。
2、设置,$.cookie(‘名字’, ‘值’)。cookie中保存的值是文本。
3、读取,var v = $.cookie(‘名字’)
B、$.cookie(‘名字’, ‘值’,{expires:7,path:’/’,domain:’baidu.com’,secure:true});
expires 保存的天数。
path 设置网站那些目录下的文件可以读取。
domain 保存的是哪个域名的。
21、JQueryUI
22、JQuery辅助工具
A、DebugBar
B、IE开发人员工具
JQuery 总结的更多相关文章
- Angular杂谈系列1-如何在Angular2中使用jQuery及其插件
jQuery,让我们对dom的操作更加便捷.由于其易用性和可扩展性,jQuer也迅速风靡全球,各种插件也是目不暇接. 我相信很多人并不能直接远离jQuery去做前端,因为它太好用了,我们以前做的东西大 ...
- jQuery UI resizable使用注意事项、实时等比例拉伸及你不知道的技巧
这篇文章总结的是我在使用resizable插件的过程中,遇到的问题及变通应用的奇思妙想. 一.resizable使用注意事项 以下是我在jsfiddle上写的测试demo:http://jsfiddl ...
- Jquery的点击事件,三句代码完成全选事件
先来看一下Js和Jquery的点击事件 举两个简单的例子 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&q ...
- jQuery实践-网页版2048小游戏
▓▓▓▓▓▓ 大致介绍 看了一个实现网页版2048小游戏的视频,觉得能做出自己以前喜欢玩的小游戏很有意思便自己动手试了试,真正的验证了这句话-不要以为你以为的就是你以为的,看视频时觉得看懂了,会写了, ...
- jquery和Js的区别和基础操作
jqery的语法和js的语法一样,算是把js升级了一下,这两种语法可以一起使用,只不过是用jqery更加方便 一个页面想要使用jqery的话,先要引入一下jqery包,jqery包从网上下一个就可以, ...
- jQuery之ajax实现篇
jQuery的ajax方法非常好用,这么好的东西,你想拥有一个属于自己的ajax么?接下来,我们来自己做一个简单的ajax吧. 实现功能 由于jq中的ajax方法是用了内置的deferred模块,是P ...
- 利用snowfall.jquery.js实现爱心满屏飞
小颖在上一篇一步一步教你用CSS画爱心中已经分享一种画爱心的方法,这次再分享一种方法用css画爱心,并利用snowfall.jquery.js实现爱心满屏飞的效果. 第一步: 利用伪元素before和 ...
- jQuery的61种选择器
The Write Less , Do More ! jQuery选择器 1. #id : 根据给定的ID匹配一个元素 <p id="myId">这是第一个p标签< ...
- jquery.uploadify文件上传组件
1.jquery.uploadify简介 在ASP.NET中上传的控件有很多,比如.NET自带的FileUpload,以及SWFUpload,Uploadify等等,尤其后面两个控件的用户体验比较好, ...
- 浅谈 jQuery 核心架构设计
jQuery对于大家而言并不陌生,因此关于它是什么以及它的作用,在这里我就不多言了,而本篇文章的目的是想通过对源码简单的分析来讨论 jQuery 的核心架构设计,以及jQuery 是如何利用javas ...
随机推荐
- 利用gsoap库封装易用的rest框架
c++缺少web开发的框架,web框架分为异步和同步,异步的业务逻辑控制需要较强功底,同步代码实现起来容易,利于阅读理解 1.gsoap是c++写的webservice库,webservice应用层也 ...
- 洛谷——P2261 [CQOI2007]余数求和
P2261 [CQOI2007]余数求和 关键在于化简公式,题目所求$\sum_{i=1}^{n}k\mod i$ 简化式子,也就是$\sum_{i=1}^{n}(k-\frac{k}{i}\time ...
- 全面了解cookie和session
http协议: http即超文本传输协议(万维网定义的),一种基于浏览器请求与服务器响应的链接,它是一个很纯粹的传输协议.http协议主要的特征就是它是一种无状态的协议(只针对cookie与sessi ...
- odoo domain详解
参考的以下文档: luohuayong:Odoo domain写法及运用 baimo:odoo domain表达式 1.domain 表达式规则 最简单的格式:[('字段名','操作符',值)] 例: ...
- Python基础(十一) 异常处理
在程序运行过程中,总会遇到各种各样的错误,有的错误是程序编写有问题造成的,比如本来应该输出整数结果输出了字符串,这样的错误我们通常称之为BUG,BUG是必须修复的.在Python中内置了一套异常处理机 ...
- BNUOJ 14381 Wavio Sequence
Wavio Sequence Time Limit: 3000ms Memory Limit: 131072KB This problem will be judged on UVA. Origina ...
- Leetcode 131.分割回文串
分割回文串 给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串. 返回 s 所有可能的分割方案. 示例: 输入: "aab" 输出: [ ["aa" ...
- HDU - 3407 - String-Matching Automata
先上题目: String-Matching Automata Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K ...
- Hihocoder 1333 (splay)
Problem 平衡树 splay2 题目大意 维护一个序列,支持四种操作: 操作1:添加一个数,编号为x,权值为y. 操作2:删除编号在区间[x,y]内的数. 操作3:将编号在区间[x,y]内的数的 ...
- JavaMail发送邮件后再通过JavaMail接收格式问题
复杂邮件发送问题 转载请标明出处!https://www.cnblogs.com/dream-saddle/p/10978113.html 关于 JavaMail 如何发送邮件这里就不赘述了,网上有很 ...