本节内容:
1: jQuery是什么?
2:什么是jQuery对象?
3:寻找元素(选择器和筛选器)
4: 操作元素(属性,css,文档处理)
5: jQuery节点的增删改查
6:css操作
7:事件
8:动画效果
9:扩展方法 (插件机制)
10:轮播图
jQuery文档:http://jquery.cuishifeng.cn/
1: jQuery是什么?
<1> jQuery由美国人John Resig创建&#xff0c;至今已吸引了来自世界各地的众多 Javascript高手加入其team。
<2>jQuery是继prototype之后又一个优秀的Javascript框架。其宗旨是——WRITE LESS,DO MORE!
<3>它是轻量级的js库(压缩后只有21k) &#xff0c;这是其它的js库所不及的&#xff0c;它兼容CSS3&#xff0c;还兼容各种浏览器
<4>jQuery是一个快速的&#xff0c;简洁的Javascript库&#xff0c;使用户能更方便地处理HTMLdocuments、events、实现动画效果&#xff0c;并且方便地为网站提供AJAX交互。
<5>jQuery还有一个比较大的优势是&#xff0c;它的文档说明很全&#xff0c;而且各种应用也说得很详细&#xff0c;同时还有许多成熟的插件可供选择。
2&#xff1a;什么是jQuery对象&#xff1f;
jquery的基础语法&#xff1a;$(selector).action()
jQuery 对象就是通过jQuery包装DOM对象后产生的对象。jQuery 对象是 jQuery 独有的.
如果一个对象是 jQuery 对象, 那么它就可以使用 jQuery 里的方法: $(“#test”).html();
$("#test").html() //意思是指&#xff1a;获取ID为test的元素内的html代码。其中html()是jQuery里的方法 // 这段代码等同于用DOM实现代码&#xff1a; document.getElementById(" test ").innerHTML; //虽然jQuery对象是包装DOM对象后产生的&#xff0c;但是jQuery无法使用DOM对象的任何方法&#xff0c;同理DOM对象也不能使用jQuery里的方法.乱使用会报错//约定&#xff1a;如果获取的是 jQuery 对象, 那么要在变量前面加上$. var $variable &#61; jQuery 对象
var variable &#61; DOM 对象$variable[0]&#xff1a;jquery对象转为dom对象 $("#msg").html(); $("#msg")[0].innerHTML
3&#xff1a;寻找元素(选择器和筛选器)
3.1 选择器
3.1.1 基本选择器
$("*") $("#id") $(".class") $("element") $(".class,p,div")
3.1.2 层级选择器
$(".outer div") $(".outer>div") $(".outer&#43;div") $(".outer~div")
E F 后代元素选择器&#xff0c;匹配所有属于E元素后代的F元素&#xff0c;E和F之间用空格分隔
E > F 子元素选择器&#xff0c;匹配所有E元素的子元素F
E &#43; F 毗邻元素选择器&#xff0c;匹配所有紧随E元素之后的同级元素F
E~F 匹配 prev 元素之后的所有 siblings 元素###################E~F ################
找到所有与表单同辈的 input 元素
HTML 代码:"name" />
结果:[ "none" /> ]#######################E~F ##########
3.1.3 基本筛选器
$("li:first") $("li:eq(2)") $("li:even") $("li:gt(1)")
3.1.4 属性选择器
$(&#39;[id&#61;"div1"]&#39;) $(&#39;["alex&#61;"sb"][id&#61;&#39;p1&#39;]&#39;) ##一个属性不够&#xff0c;来两个
3.1.5 表单选择器
$("[type&#61;&#39;text&#39;]")----->$(":text") 注意只适用于input标签 : $("input:checked")
筛选器 根据已知的找到需要的元素。跟js的导航一样
查找筛选器&#xff1a;这个比刚刚的更好一点
- 111
- 222
- 333
- 4444
$("div").children(".test") $("div").find(".test") $(".test").next() $(".test").nextAll() $(".test").nextUntil("#end") $("div").prev() $("div").prevAll() $("div").prevUntil() $(".test").parent() $(".test").parents() $(".test").parentUntil() $("div").siblings()
4&#xff1a; 操作元素(属性&#xff0c;css&#xff0c;文档处理)
-------------------------属性
$("").attr();
$("").removeAttr();
$("").prop();
$("").removeProp();
--------------------------CSS类
$("").addClass(class|fn)
$("").removeClass([class|fn])
--------------------------HTML代码/文本/值
$("").html([val|fn])
$("").text([val|fn])
$("").val([val|fn|arr]) //固有属性采用val()
---------------------------
$("").css("color","red") //ele2.css({"color":"red","background-color":"green"})
实例之左侧菜单
"en">
"UTF-8">
属性操作&#xff1a;attr和prop的区别
"chk1" type&#61;"checkbox" />是否可见
"chk2" type&#61;"checkbox" checked&#61;"checked" />是否可见attr和prop
实例之全反选
"en">
"UTF-8">
"checkbox"> | 111 |
"checkbox"> | 222 |
"checkbox"> | 333 |
"checkbox"> | 444 |
实例之模态对话框
"en">
"UTF-8">
5&#xff1a; jQuery节点的增删改查
内部插入
$("").append(content|fn) ----->$("p").append("Hello");
$("").appendTo(content) ----->$("p").appendTo("div");
$("").prepend(content|fn) ----->$("p").prepend("Hello");
$("").prependTo(content) ----->$("p").prependTo("#foo");
ppp
"button" value&#61;"添加">
外部插入
$("").after(content|fn) ----->$("p").after("Hello"); //不再是按儿子去插入&#xff0c;而是按兄弟去插入
$("").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]])
"en">
"UTF-8">
PPP
实例之复制样式条
"en">
"UTF-8">
6&#xff1a;css操作
CSS$("").css(name|pro|[,val|fn])位置$("").offset([coordinates])$("").position()$("").scrollTop([val]) //设置或获取滚轮的高度$("").scrollLeft([val])尺寸$("").height([val|fn]) //获取或设置content的高度$("").width([val|fn]) //获取或设置content的宽度$("").innerHeight() //包含了padding$("").innerWidth()$("").outerHeight([soptions]) //包含padding和border 设置为 true 时&#xff0c;计算边距在内。$("").outerWidth([options])
实例返回顶部
"en">
"UTF-8">
1111
1111
1111
1111
1111
1111
7&#xff1a;事件
页面载入ready(fn) //当DOM载入就绪可以查询及操纵时绑定一个要执行的函数。$(document).ready(function(){}) -----------> $(function(){})事件处理$("").on(eve,[selector],[data],fn) // 在选择元素上绑定一个或多个事件的事件处理函数。// .on的selector参数是筛选出调用.on方法的dom元素的指定子元素&#xff0c;如&#xff1a;// $(&#39;ul&#39;).on(&#39;click&#39;, &#39;li&#39;, function(){console.log(&#39;click&#39;);})就是筛选出ul下的li给其绑定// click事件&#xff1b;
[selector]参数的好处:好处在于.on方法为动态添加的元素也能绑上指定事件&#xff1b;如&#xff1a;//$(&#39;ul li&#39;).on(&#39;click&#39;, function(){console.log(&#39;click&#39;);})的绑定方式和//$(&#39;ul li&#39;).bind(&#39;click&#39;, function(){console.log(&#39;click&#39;);})一样&#xff1b;我通过js给ul添加了一个//li&#xff1a;$(&#39;ul&#39;).append(&#39;
[data]参数的调用:function myHandler(event) {alert(event.data.foo);}$("li").on("click", {foo: "bar"}, myHandler)
"en">
"UTF-8">
- 1111
- 2222
- 3333
- 4444
8&#xff1a;动画效果
显示和隐藏 show、hide
"en">
"UTF-8">
滑动 slideUp 、slideDown
"en">
"UTF-8">
淡入淡出 [根据颜色的深浅来]。fadein、fadeout、
"en">
"UTF-8">
回调函数
"en">
"UTF-8">
9&#xff1a;扩展方法 (插件机制)
"en">
"UTF-8">
111
222
333
10&#xff1a;轮播图
"en">
"UTF-8">
- class&#61;"img">
- "">"images/1.jpg" alt&#61;"">
- "">"images/2.jpg" alt&#61;"">
- "">"images/3.jpg" alt&#61;"">
- "">"images/4.jpg" alt&#61;"">
- "">"images/5.jpg" alt&#61;"">
- class&#61;"num">