第一:jquery介绍:
1.2006年1月jQuery由美国人John Resig创建,
2.jQuery是继prototype之后又一个优秀的Javascript框架。其宗旨是——WRITE LESS,DO MORE!
3.它是轻量级的js库(压缩后只有21k) ,这是其它的js库所不及的,它兼容CSS3,还兼容各种浏览器
4.jQuery是一个快速的,简洁的javaScript库,使用户能更方便地处理HTMLdocuments、events、实现动画效果,并且方便地为网站提供AJAX交互。
5.jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。
总而言之:jQuery是库可以通过一行简单的标记被添加到网页中。是一个 JavaScript 函数库。好用
向网页中添加jQuery库:
第二:jQuery语法:
jQuery 对象就是通过jQuery包装DOM对象后产生的对象。jQuery 对象是 jQuery 独有的. 如果一个对象是 jQuery 对象, 那么它就可以使用 jQuery 里的方法: $(“#cyy”).zzl();
$("#cyy").zzl() //意思是指:获取ID为cyy的元素内的zzl代码。其中zzl()是jQuery里的方法 // 这段代码等同于用DOM实现代码: document.getElementById(" cyy ").innerHTML; //虽然jQuery对象是包装DOM对象后产生的,但是jQuery无法使用DOM对象的任何方法,同理DOM对象也不能使用jQuery里的方法.乱使用会报错 //约定:如果获取的是 jQuery 对象, 那么要在变量前面加上$. var $variable = jQuery 对象var variable = DOM 对象$variable[0]:jquery对象转为dom对象 $("#msg").html(); $("#msg")[0].innerHTML
jQuery 语法是为 HTML 元素的选取编制的,可以对元素执行某些操作。
基础语法是:$(selector).action()
- 美元符号定义 jQuery
- 选择符(selector)“查询”和“查找” HTML 元素
- jQuery 的 action() 执行对元素的操作
第三:选择器和筛选器
选择器
基本选择器
$("*") $("#id") $(".class") $("element") $(".class,p,div")
$("*"):匹配任何元素
选择器 zhang
chengcyyzzl
$("#id"):匹配所有相同id的属性
选择器 111122223333
$(".class"):匹配所有class属性
选择器 111122223333
$("element"):匹配所有任意一个标签
选择器 zhang
chengcyyzzl
111122223333
$(".class,p,div"):匹配class,p,div三个属性,满足一个即可
选择器 zhang
chengcyyzzl
111122223333
层级选择器
$(".outer div") $(".outer>div") $(".outer+div") $(".outer~div")
$(".outer div"):意思是匹配outer的div标签
1 2 3 4 5选择器 6 7 8914 15 18 1910121111
112222
13
$(".outer>div")
1 2 3 4 5选择器 6 7 8914 15 18 1910121111
112222
13
$(".outer+div")匹配outer下面的紧挨着的div标签
1 2 3 4 5选择器 6 7 8ffff9ddddd10111612141111
132222
15aaaaa17 18 19 22 23
$(".outer~div"): 匹配outer下面的所有的div标签
选择器 ffffddddd1111
2222
aaaaasdsddasssssssssssss
属性选择器
$('[id="div1"]')
$('[id="div1"]'):id等于div1的属性
1 2 3 4 5选择器 6 7 8ffff9ddddd1011 22221213aaaaa14sdsdd15asssssssssssss16 17 18 21 22
表单选择器
$("[type='text']")----->$(":text") 注意只适用于input标签 : $("input:checked")
筛选器(示例未补充)
基本筛选器
$("li:first") $("li:eq(2)") $("li:even") $("li:gt(1)")
$("li:first"):匹配li下的第一个 $("li:last"):匹配li下的最后一个
选择器
- 111
- 222
- 333
- 444
- 555
- 666
$("li:eq(2)"):eq(num):num则是索引下标,从0开始
1 2 3 4 5选择器 6 7 8 9
- 10
- 111 11
- 222 12
- 333 13
- 444 14
- 555 15
- 666 16
$("li:even"):li下能被2整除的下标
选择器
- 111
- 222
- 333
- 444
- 555
- 666
$("li:gt(1)") 下标大于1的
选择器
- 111
- 222
- 333
- 444
- 555
- 666
$("li:lt(4)") 下标小于4的
选择器
- 111
- 222
- 333
- 444
- 555
- 666
查找筛选器
$("div").children(".item") :查找div下新的儿子$("div").find(".item") :查找div下的所有的孩子$(".item").next() :查找item的下一个$(".item").nextAll() :查找item的下面所有的$(".item").nextUntil(".item2") :查找item直到下面item2的位置$("item").prev() :查找item的上一个$("item").prevAll() :查找item的上面所有的$("item").prevUntil("item3") :查找item的直到上面的item3$(".item").parent() 查找item的父亲$(".item").parents() 查找item的列祖列宗$(".item").parentUntil(".item6") 查找item的列祖列祖直到item6$("div").siblings() 查找div的兄弟姐妹
示例一:左侧菜单
Title
第四:操作元素(属性,css,文档处理)
属性操作:
--------------------------属性$("").attr(); $("").removeAttr();$("").prop();$("").removeProp(); 见下面注意事项--------------------------CSS类$("").addClass(class|fn) 增加css属性$("").removeClass([class|fn]) 删除css属性--------------------------HTML代码/文本/值$("").html([val|fn]) 识别html中的标签,例如:11
回加粗$("").text([val|fn]) 把html中的标签当做文本替换$("").val([val|fn|arr]) 替换value值---------------------------$("").css("color","red") 颜色
注意事项:
是否可见是否可见
示例一:小循环
Title
- 111
- 22
- 11133
- 11rewrw1
示例二:正反选
Title
1111 | 1111 | 1111 | |
2222 | 2222 | 2222 | |
3333 | 3333 | 3333 |
示例二:弹出对话框
1 2 3 4 5Title 6 38 39 4041 4243 44 45 48 49 50 51 64 65
文档处理:
//创建一个标签对象 $("")//内部插入 $("").append(content|fn) ----->$("p").append("Hello"); 父亲添加儿子 $("").appendTo(content) ----->$("p").appendTo("div"); $("").prepend(content|fn) ----->$("p").prepend("Hello"); $("").prependTo(content) ----->$("p").prependTo("#foo");//外部插入 $("").after(content|fn) ----->$("p").after("Hello"); 插在兄弟后面 $("").before(content|fn) ----->$("p").before("Hello"); $("").insertAfter(content) ----->$("p").insertAfter("#foo"); $("").insertBefore(content) ----->$("p").insertBefore("#foo");//替换 $("").replaceWith(content|fn) ----->$("p").replaceWith("Paragraph. "); //删除 $("").empty() #清空内容 $("").remove([expr]) #把标签也给清空了//复制 $("").clone([Even[,deepEven]])
示例:复制样式条
Title
CSS操作:
CSS $("").css(name|pro|[,val|fn]) 颜色,名字... 位置 $("").offset([coordinates]) 偏移 见示例一 $("").position() 定位 见示例二 $("").scrollTop([val]) 滚动条,见示例四 $("").scrollLeft([val]) 尺寸对应示例三 $("").height([val|fn]) $("").width([val|fn]) $("").innerHeight() $("").innerWidth() $("").outerHeight([soptions]) $("").outerWidth([options])
示例一:偏移:
Title
示例二:按照父亲去定位
Title
示例三:尺寸
Title divvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
示例四:滚动条
Title 返回顶部
第五:事件
eg:
- 11
- 11
- 11
第六:动画效果
显示隐藏切换:
Title hello
滑动切换:
Title hell world
淡入浅出:
Title hell world
回调函数:就是执行完以上三个功能中的一个显示功能后调用一个函数
Title hello
第七:扩展方法
1.写jquery插件的核心方法
Title
2. 定义作用域
定义一个JQuery插件,首先要把这个插件的代码放在一个黑盒子里面。就留一个口调用。如果用专业些的话来说就是要为这个插件定义私有作用域。外部的代码不能直接访问插件内部的代码。插件内部的代码不污染全局变量。在一定的作用上解耦了插件与运行环境的依赖。
//自定义扩展方法 $.extend({ zzl:function(){ alert("success") } })
三 默认参数
定义了jQuery插件之后,如果希望某些参数具有默认值,那么可以以这种方式来指定。
/step01 定义JQuery的作用域(function ($) { //step03-a 插件的默认值属性 var defaults = { prevId: 'prevBtn', prevText: 'Previous', nextId: 'nextBtn', nextText: 'Next' //…… }; //step06-a 在插件里定义方法 var showLink = function (obj) { $(obj).append(function () { return "(" + $(obj).attr("href") + ")" }); } //step02 插件的扩展方法名称 $.fn.easySlider = function (options) { //step03-b 合并用户自定义属性,默认属性 var options = $.extend(defaults, options); //step4 支持JQuery选择器 //step5 支持链式调用 return this.each(function () { //step06-b 在插件里定义方法 showLink(this); }); }})(jQuery);
检测用户名密码是否为空:
Title
补充:js定时器:
Title