




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JQuery基础JQuery基础1第10章jQuery基础第10章jQuery基础2主要内容jQuery概述jQuery中的"$"jQuery与CSS使用选择器管理选择结果主要内容jQuery概述310.1jQuery概述10.1jQuery概述410.1.1Jquery及其优势jQuery是一个优秀的JavaScript框架,集JavaScript、CSS、DOM、Ajax功能于一体。简化JavaScript的复杂操作方便地选取页面元素—DOM的主要工作。简化常用的JavaScript操作,如数组的操作,迭代等。提供了Ajax操作,简化了代码的书写,方便了异步交互的开发和使用。简化了制作动画效果的过程。提供大量实用方法10.1.1Jquery及其优势jQuery是一个优秀的J510.1jQuery概述解决了浏览器的兼容性问题便捷地修改页面的表现—CSS的主要工作,并解决了浏览器的兼容性问题。轻松地处理事件,解决了浏览器的兼容问题。10.1jQuery概述解决了浏览器的兼容性问题610.1.2jQuery的下载下载地址:10.1.2jQuery的下载下载地址:710.1.3jQuery设计思想1、选择网页元素的方法模拟CSS选择元素独有表达式选择多种筛选方法10.1.3jQuery设计思想1、选择网页元素的方法8(1)模拟CSS选择元素document.getElementById('div1');$('#div1')$('div')$('.box').document.getElementsByTagName('div');getByClass(document,'box');(1)模拟CSS选择元素document.getElemen9(2)独有表达式选择$("li.box")$("li[title]")$("li:last")<ul><li>1</li><liclass='box'>1</li><liclass='box'>1</li><lititle='hello'>1</li><lititle='world'>1</li></ul>(2)独有表达式选择$("li.box")$("li[tit10(3)多种筛选方法$("li:last")$("li").filter("[title=world]")$("li:eq(4)")<ul><li>1</li><liclass='box'>1</li><liclass='box'>1</li><lititle='hello'>1</li><lititle='world'>1</li></ul>$("li[title=world]")(3)多种筛选方法$("li:last")$("li").f11(4)Jquery兼容性处理window.onload=function(){ varoUl=document.getElementsByTagName("ul")[0]; varaChild=oUl.childNodes; for(vari=0;i<aChild.length;i++){ if(aChild[i].nodeType==1){ aChild[i].style.background="blue"; } });$('ul').children().css('background','red');(4)Jquery兼容性处理window.onload=1210.1.3jQuery设计思想2、jQuery写法方法函数化取值赋值合体链式操作10.1.3jQuery设计思想2、jQuery写法13window.onload=function(){};$(function(){});innerHTML=123;html(123)onclick=function(){};click(function(){})(1)Jquery的方法函数化window.onload=function(){};$14(1)Jquery的方法函数化$(function(){ $('div').click(function(){ $(this).html('divdiv'); })})window.onload=function(){ varoDiv=document.getElementById('div1'); oDiv.onclick=function(){ oDiv.innerHTML="div"; }}(1)Jquery的方法函数化$(function(){wi15(2)取值和赋值方法合体html()css()注意:当操作一组元素的时候取值是一组中的第一个赋值是一组中的所有元素$(“div”).css(“background”)读取$(“div”).css(“background”,“red“)赋值(2)取值和赋值方法合体html()注意:当操作一组元素的时16(3)Jquery的链式操作varoDiv=$('#div1');oDiv.html('hello');oDiv.css('background','red');oDiv.click(function(){ alert(123);})$('#div1').html('hello').css('background','red').click(function(){ alert(123);});(3)Jquery的链式操作varoDiv=$('#d1710.2jQurey中的"$""$"是什么?函数!等同于“jQuery""$"能接收的参数函数($是函数的前缀)字符串选择DOM元素创建DOM元素对象“$”调用jQuery中的自定义函数alert(typeof$)10.2jQurey中的"$""$"是什么?alert(181.$(document).ready()页面HTML框架需要在页面完全加载后才能使用,因此JavaScript编程时要使用window.onload函数。如果需要在页面中多处使用该函数,或者其他.js文件中也包含window.onload,冲突将十分棘手。jQuery中的ready函数解决了这个问题,可以自动将其中的函数在页面加载完成后运行,并且同一个页面中可以使用多个ready方法,互相不冲突。$(document).ready(function(){ //dosomething});$(function(){ //dosomething});1.$(document).ready()页面HTML框架192.利用"$"创建DOM元素JavaScript创建DOM的方法创建节点元素创建文本节点将文本节点作为孩子添加到节点document.onclick=function(){ varoNewP=document.createElement("p"); varoText=document.createTextNode("这是一个感人肺腑的故事"); oNewP.appendChild(oText); document.body.appendChild(oNewP);}2.利用"$"创建DOM元素JavaScript创建DO202.利用"$"创建DOM元素jQuery创建DOM的方法$("")$(document).click(function(){ varoNewP=$("<p>这是一个感人肺腑的故事</p>"); $(document.body).append(oNewP);});2.利用"$"创建DOM元素jQuery创建DOM的方213.包装JavaScript对象JS对象在JQ中的引用方法:使用"$"选取$(this)$(document)$(document.body)$(window)varoDiv;$(oDiv)3.包装JavaScript对象JS对象在JQ中的引用方法223.包装JavaScript对象JQ与JS代码可以共存,但在一个表达式中不能混写JavaScript中的原生对象可以调用原生的方法/属性JQ对象可以调用JQ中的方法$(this).html()//jq的写法this.innerHTML//js的写法
$(this).innerHTML//错误!this.html()//错误!3.包装JavaScript对象JQ与JS代码可以共存,但234.使用$调用jQurey的功能函数jQuery中提供了很多功能函数,完成诸多方面的功能,涉及Javascript的方方面面。调用方法:$.4.使用$调用jQurey的功能函数jQuery中提供了很244.使用$调用jQurey的功能函数<scriptsrc="jquery-1.11.1.min.js"></script><script>varsStr="123456";sStr=$.trim(sStr);alert(sStr.length);</script>【例】$引用功能函数的用法。4.使用$调用jQurey的功能函数<scriptsrc2510.3jQuery与CSS3CSS1:1996年由W3C推出CSS2:1998年推出,陆续得到多数浏览器支持CSS3:陆续发布中,吸取了web发展的需求,提出了很多新颖的CSS特性。增强了选择器,如属性选择器,位置选择器等。存在的问题:各浏览器对CSS3的支持还有待提高。jQuery:提供了几乎CSS3下的所有选择器,具有很好的兼容性,使理论上的CSS3选择器变成了事实。10.3jQuery与CSS3CSS1:1996年由W32610.3jQuery与CSS3CSS选择器参考手册10.3jQuery与CSS3CSS选择器参考手册2710.4使用选择器基本选择器层叠选择器属性选择器位置选择器过滤选择器反向过滤选择器10.4使用选择器基本选择器2810.4.1基本选择器$("#id")
id选择器$("tagName")
标签选择器,返回数组
$(".class")
类选择器,返回数组
$("*")
选择文档中的所有的元素组合形式:$("E.C")选择样式名称为C的E标记$("E#I")选择id为I的E标记10.4.1基本选择器$("#id")
2910.4.2层叠选择器目前主流的浏览器尚不完全支持CSS3选择器,jQuery在满足兼容性的前提下,实现按照CSS3方式选择元素10.4.2层叠选择器目前主流的浏览器尚不完全支持CSS33010.4.2层叠选择器$("E,F")选择所有E元素和所有F元素(并集)$("EF")选择E元素内部的所有F元素(子孙节点)$("E>F")选择父元素是E的所有F元素(子节点)$("E+F")选择E元素后面的直接兄弟F元素(兄弟)$("E~F")选择E元素后面的兄弟F元素,包括非直接兄弟节点10.4.2层叠选择器$("E,F")选择所有E元3110.4.2层叠选择器$("EF")选择E元素下面的所有子节点,包括非直接子节点$("forminput")10.4.2层叠选择器$("EF")选择E元素下面的3210.4.2层叠选择器$("E>F")选择E元素下面的直接子节点$("form>input")10.4.2层叠选择器$("E>F")选择E元素下面的直3310.4.2层叠选择器$("E+F")选择E元素后面的直接兄弟节点$("label+input")10.4.2层叠选择器$("E+F")选择E元素后面的直3410.4.2层叠选择器$("E+F")选择E元素后面的直接兄弟节点$("form+input")10.4.2层叠选择器$("E+F")选择E元素后面的直3510.4.2层叠选择器$("E~F")选择E元素后面的兄弟节点,包括非直接兄弟节点$("label~input")10.4.2层叠选择器$("E~F")选择E元素后面的兄3610.4.3属性选择器基本语法:$("E[属性及其逻辑关系]")E[属性]设置了该属性的标记E[属性=V]属性值等于V的E标记E[属性!=V]属性值不等于V的E标记E[属性^=V]属性值以V开头的E标记E[属性$=V]属性值以V结尾的E标记E[属性*=V]属性值包含V的E标记10.4.3属性选择器基本语法:$("E[属性及其逻辑3710.4.3属性选择器a{text-decoration:none;color:#000000;}<ul> <li><ahref="">(设置了href)</a> <ul> <li>10-6.html</li> <li><ahref="10-7.html">10-7.html(设置了href)</a></li> <li><ahref="10-8.html"title="圆角矩形">10-8.html(设置了href和title)</a></li> <li><ahref="10-9.html">10-9.html(设置了href)</a></li><li><ahref="isaac.html"title="制作中...">isaac.html(设置了href和title)</a></li> </ul> </li></ul>10.4.3属性选择器a{<ul>3810.4.3属性选择器1、选择设置了"title"属性的a标记,将其样式设置为显示下划线2、将链接属性为"10-9.html"的a标记,样式设置为显示下划线3、将链接以"http://"开头的a标记设置显示下划线4、将链接以"html"结尾的a标记设置为显示下划线5、将链接中包含"isaac"字符串的设置显示下划线10.4.3属性选择器1、选择设置了"title"属性的a3910.4.4位置选择器$("E:first")
选择所有E元素的第一个$("E:last")
选择所有E元素的最后一个$(“E:even”)
选择所有E元素偶数序列(全局计数,从0开始)$(“E:odd”)
选择所有E元素奇数序列(全局计数,从0开始)
10.4.4位置选择器$("E:first")
选4010.4.4位置选择器$("E:first-chilid")
选择作为第一个子节点存在的E$("E:last-child")
选择作为最后一个子节点存在的E$("E:nth-child(n)")选择作为第n个子节点存在的E(从1开始计数)$("E:nth-child(odd|even)")选择作为奇数序或偶数序存在的子节点E(局部计数,从1开始)$("E:parent")选择作为父节点的E元素10.4.4位置选择器$("E:first-chilid"4110.4.4位置选择器$("E:eq(n)")
选择所有的E中序号为n+1的元素$("E:gt(n)")
选择E元素中序号大于n的所有元素(不包括n本身)$("E:lt(n)")
选择E元素中序号小于n的所有的元素(不包括n本身)10.4.4位置选择器$("E:eq(n)")
4210.4.4位置选择器$("p:first")$("p:last")$("p:first-child")$("p:last-child")$("p:odd")$("p:even")$("p:nth-child(odd)")$("p:nth-child(even)")$("p:eq(2)")$("p:gt(2)")$("p:lt(2)")10.4.4位置选择器$("p:first")4310.4.4位置选择器$("p:first")整个页面排序$("p:first-child")根据各自的父节点排序10.4.4位置选择器$("p:first")$("p:f4410.4.4位置选择器$("p:nth-child(odd)")根据各自的父元素单独排序,局部排序从1开始$("p:odd")整个页面排序,全局排序从0开始10.4.4位置选择器$("p:nth-child(odd4510.4.4位置选择器$("p:nth-child(1)")从1开始计数10.4.4位置选择器$("p:nth-child(1)"4610.4.4位置选择器$("p:eq(2)")整个页面排序从0开始$("p:gt(2)")整个页面排序从0开始$("p:lt(2)")整个页面排序从0开始10.4.4位置选择器$("p:eq(2)")$("p:g4710.4.4位置选择器从1开始计数nth-child(n):nth-child(odd|even):奇偶从1开始计数从0开始计数的选择器oddeven:eq():gt():lt()10.4.4位置选择器从1开始计数4810.4.4位置选择器练习:1、选择最后一个p标记2、选择每个div中的偶数行3、选择页面中所有奇数p标记4、选择所有p标记中的第5个5、选择3-6的p标记6、选择1-3的p标记补充slice()函数的使用7、选择3-5的标记10.4.4位置选择器练习:补充slice()函数的使用4910.4.4位置选择器【练习】利用jQuery使用CSS3的选择器::nth-child(n)。<style>.myclass{ background-color:#069; color:#900; }</style><ul><li>波斯帝国</li>
<li>罗马帝国</li><li>匈奴帝国</li><li>拜占庭帝国</li><li>孔雀王朝</li><li>查理曼帝国</li></ul>10.4.4位置选择器【练习】利用jQuery使用CSS35010.4.4位置选择器【练习】实现表格的隔行变色。10.4.4位置选择器【练习】实现表格的隔行变色。5110.4.4位置选择器<tableclass="datalist"id="oTable"> <tr> <thscope="col">Name</th> <thscope="col">Class</th> <thscope="col">Birthday</th> <thscope="col">Constellation</th> <thscope="col">Mobile</th> </tr> <tr> <td>isaac</td> <td>W13</td> <td>Jun24th</td> <td>Cancer</td> <td>1118159</td> </tr> ……10.4.4位置选择器<tableclass="data5210.4.4位置选择器比较:odd和:nth-child(odd)的区别$("tabletr:nth-child(odd)")$("tabletr:odd")从0开始从1开始10.4.4位置选择器比较:odd和:nth-child5310.4.5过滤选择器$("E:has(F)")
选择所有含有F标签的E元素(根据子元素确定父元素)$("E:contains(‘XX’)")选择所有E中含有XX文本的元素(按内容做选择):hidden 页面中被隐藏的元素display="none":disable 页面中被禁用了的元素:enable 页面中未被禁用的元素:animated 所有处于动画中的元素:header 所有标题元素<h1><h2>….10.4.5过滤选择器$("E:has(F)")
5410.4.5过滤选择器:text
所有文本输入框,input[type=text]:checkbox
所有复选框,input[type=checkbox]:input 表单元素,包括<input><select><textarea><button>:password 密码文本框,input[type=password]:radio 所有单选按钮,input[type=radio]:submit 所有提交按钮,input[type=submit],button[type=submit]:reset 所有重置按钮,input[type=reset],button[type=reset]:image 图片提交按钮,input[type=image]:file 上传文件的元素,input[type=file]:button 按钮,input[type=button]和<button>标记:selected
下拉菜单中被选中的项:checked
复选框和单选框中被选中的项10.4.5过滤选择器:text 所有文本输入框,i5510.4.5过滤选择器【例】输出表单上填写的各项信息。JavaScript:表单元素的获取:表单对象.name元素值的获取:文本框:元素.value下拉框:元素.options[元素.selectedIndex].value单选按钮:元素[i].value(checked为true)复选按钮:元素[i].value(checked为true)10.4.5过滤选择器【例】输出表单上填写的各项信息。Ja5610.4.5过滤选择器$(":text")$(":password")$(":selected")$(":radio:checked")$(":checkbox:checked")10.4.5过滤选择器$(":text")5710.4.6反向过滤器:not(标签/过滤器)$("input:not(:checked)")
过滤掉所有被checked的input元素10.4.6反向过滤器:not(标签/过滤器)$("inp5810.4.6反向过滤器:not(过滤器)$(":input:not(:checked)")
过滤掉所有被checked的input,select,textarea元素10.4.6反向过滤器:not(过滤器)$(":input5910.4.6反向过滤器连续使用反向过滤器$(":input:not(:checkbox):not(textarea)")10.4.6反向过滤器连续使用反向过滤器$(":input6010.5jQuery遍历函数jQuery遍历:each()jQuery过滤:find(),has(),filter(),add(),not(),is()jQuery祖先:parent(),parents(),offsetParent()jQuery后代:children()jQuery同胞:next(),prev(),siblings()10.5jQuery遍历函数jQuery遍历:each(6110.5.1jQuery遍历遍历元素的方法each(遍历函数)遍历函数有一个参数:index,标识集合中每个元素的索引值(从0开始)10.5.1jQuery遍历遍历元素的方法6210.5.1jQuery遍历<imgsrc="01.jpg"id="Tsinghua01"><imgsrc="02.jpg"id="Tsinghua02"><imgsrc="03.jpg"id="Tsinghua03"><imgsrc="04.jpg"id="Tsinghua04"><imgsrc="05.jpg"id="Tsinghua05">【实例】设置每幅图片的title属性。10.5.1jQuery遍历<imgsrc="01.j6310.5.1jQuery遍历$(function(){ $("img").each(function(index){ this.title="这是第"+index+"幅图,id是:"+this.id; });});遍历元素的方法each(遍历函数)遍历函数有一个参数:index配合this对象的使用10.5.1jQuery遍历$(function(){遍6410.5.2jQuery过滤—查询函数find().find(表达式/JQ对象/DOM元素)搜索所有与指定参数匹配的元素。可以方便地选择正在处理的元素的子孙元素。<p><span>Hello</span>,howareyou?</p>$("p").find("span")[<span>Hello</span>]10.5.2jQuery过滤—查询函数find().fi6510.5.2jQuery过滤—查询函数find().has(选择器/DOM元素)功能同$("E:has(F)")
选择所有含有F标签的E元素(根据子元素确定父元素)将匹配元素集合缩减为拥有匹配指定选择器或DOM元素的子集。<ul><li>111</li></ul><ul></ul>$(“ul").has(“li")<ul><li>111</li></ul>10.5.2jQuery过滤—查询函数find().ha6610.5.2jQuery过滤—查询函数find()has()和find()的比较has()的功能同:has()过滤器,获取当前对象的子集find()的功能同EF层叠选择器,获取当前元素的子孙元素10.5.2jQuery过滤—查询函数find()has6710.5.2jQuery过滤—查询函数find()<body><divid="navigation"> <ulid="listUL"> <li><ahref="#">Home</a></li> <li><ahref="#">News</a> <ul> <li><ahref="#">LastestNews</a></li> <li><ahref="#">AllNews</a></li> </ul> </li> <li><ahref="#">Sports</a> <ul> <li><ahref="#">Basketball</a></li><li><ahref="#">Football</a></li><li><ahref="#">Volleyball</a></li></ul></li> <li><ahref="#">Weather</a> <ul> <li><ahref="#">Today'sWeather</a></li><li><ahref="#">Forecast</a></li></ul></li> <li><ahref="#">ContactMe</a></li> </ul></div></body>10.5.2jQuery过滤—查询函数find()<bo6810.5.2jQuery过滤—查询函数find()$('li').has('ul').css('background-color','#3C6');10.5.2jQuery过滤—查询函数find()$('6910.5.2jQuery过滤—查询函数find()$("li").find("ul").css('background-color','#3C6');10.5.2jQuery过滤—查询函数find()$("7010.5.2jQuery过滤—过滤函数filter()在集合中继续过滤元素.filter(通用表达式).filter(过滤函数)filter()函数过滤功能更加灵活,强大10.5.2jQuery过滤—过滤函数filter()在7110.5.2jQuery过滤—过滤函数filter().filter(通用表达式)选择器表达式,可以有多个条件,
用逗号分隔(逻辑“或”关系)属性表达式写在“[]”中用途:实现链式操作(递进并且)书写简便10.5.2jQuery过滤—过滤函数filter().7210.5.2jQuery过滤—过滤函数filter()【实例】实现DIV样式的修改。<div>.middle背景色#FCF蓝色边框10.5.2jQuery过滤—过滤函数filter()【7310.5.2jQuery过滤—过滤函数filter()<body> <div></div> <divclass="middle"></div> <divclass="middle"></div> <divclass="middle"></div> <divclass="middle"></div> <div></div></body>$("div").css("background","#FCF");$("div.middle").css("border","2pxsolid#009");10.5.2jQuery过滤—过滤函数filter()<7410.5.2jQuery过滤—过滤函数filter()<body> <div></div> <divclass="middle"></div> <divclass="middle"></div> <divclass="middle"></div> <divclass="middle"></div> <div></div></body>$("div").css("background","#FCF").filter(".middle").css("border","2pxsolid#009");10.5.2jQuery过滤—过滤函数filter()<7510.5.2jQuery过滤—过滤函数filter()$("a[href*=isaac]")
注意:在filter()的参数中,不能使用的"=",而只能使用"!=","^=",“$="和"*="。$("a").filter("[href*=isaac]") .filter(".middle").filter("[class*=middle]") .filter("[class=middle]") 10.5.2jQuery过滤—过滤函数filter()$7610.5.2jQuery过滤—过滤函数filter()【练习】筛选div元素。<div></div><divid="blue"></div><div></div><divid="ok"class="green"></div><divclass="green"></div><divclass="gray"></div><div></div>id是blue以及class是green的所有元素class是green,并且id是ok的所有元素10.5.2jQuery过滤—过滤函数filter()【7710.5.2jQuery过滤—过滤函数filter()【练习】筛选div元素。<div></div><divclass="middle"id="1"></div><divclass="middle"></div><divclass="dd"></div><divclass="middle"></div><div></div>id是1和class是middle的所有元素id是1并且class是middle的所有元素10.5.2jQuery过滤—过滤函数filter()【7810.5.2jQuery过滤—过滤函数filter()【练习】使用filter函数实现表格的隔行变色。$("tabletr").filter(":nth-child(odd)")$("tabletr:nth-child(odd)")$("tabletr:odd")$("tabletr").filter(":odd")10.5.2jQuery过滤—过滤函数filter()【7910.5.2jQuery过滤—过滤函数filter().filter(过滤函数)用户可以利用函数进行自定义筛选条件。过滤函数需要返回布尔值。10.5.2jQuery过滤—过滤函数filter().8010.5.2jQuery过滤—过滤函数filter()【实例】修改所有DIV的背景,并将第2个DIV和id取值为“fourth”的DIV加上蓝色边框。<body> <divid="first"></div> <divid="second"></div> <divid="third"></div> <divid="fourth"></div> <divid="fifth"></div></body>10.5.2jQuery过滤—过滤函数filter()【8110.5.2jQuery过滤—过滤函数filter()$(function(){$("div").css("background","#FCF").filter(function(index){ returnindex==1||this.id=="fourth";}).css("border","2pxsolid#009"); });10.5.2jQuery过滤—过滤函数filter()$8210.5.2jQuery过滤—添加函数add()向集合中添加元素.add(选择器/DOM元素/jQuery对象)相等于[**,**]
$("img[alt]").add("img[title]")$("img[alt],img[title]")10.5.2jQuery过滤—添加函数add()向集合中添8310.5.2jQuery过滤—删除函数not()从集合中删除元素.not(表达式).not()的功能同:not()过滤器,但表达式提供了比过滤器更便捷的方式not适用于反向逻辑问题10.5.2jQuery过滤—删除函数not()从集合中删8410.5.2jQuery过滤—删除函数not()【实例】将绿色和蓝色之外的DIV加上边框。10.5.2jQuery过滤—删除函数not()【实例】将8510.5.2jQuery过滤—删除函数not()<body> <div></div> <divid="blue"></div> <div></div> <divclass="green"></div> <divclass="green"></div> <divclass="gray"></div> <div></div></body>$("div:not('.green'):not('#blue')")$("div").not(".green,#blue")练习:使用filter()+表达式使用filter()+函数10.5.2jQuery过滤—删除函数not()<body8610.5.2jQuery过滤—删除函数not()<ul><li>listitem1</li><li>listitem2</li><liid="notli">listitem3</li><li>listitem4</li><li>listitem5</li></ul>【练习】将id是notli之外的li加上背景色。$("li:not([id=notli])")$("li").not("[id=notli]")10.5.2jQuery过滤—删除函数not()<ul>【8710.5.2jQuery过滤—删除函数not()【练习】筛选出除复选框和单选按钮之外的其他元素。not()函数not过滤器filter()函数+表达式filter()函数+函数参数10.5.2jQuery过滤—删除函数not()【练习】筛8810.5.2jQuery过滤—函数is()is(表达式):表达式:字符串值,包含匹配元素的选择器表达式。根据选择器、元素或jQuery对象来检测匹配元素集合,如果这些元素中至少有一个元素匹配给定的参数,则返回true。10.5.2jQuery过滤—函数is()is(表达式):8910.5.2jQuery过滤—函数is()<form><p><inputtype="checkbox"/></p></form>【实例】判断input的双亲是否是form。$(“input:checkbox").parent().is("form")10.5.2jQuery过滤—函数is()<form><p9010.5.2jQuery过滤—函数is()<divclass="hide">aaa</div>【实例】判断div是否隐藏。$("div").is(":hidden")10.5.2jQuery过滤—函数is()<divcla9110.5.3jQuery函数—获取祖先、孩子、兄弟获取祖先:parent(),parents(),offsetParent()parent():获得被选元素集合的所有父元素parents():获得被选元素集合的所有祖先元素offsetParent():获得用于定位的第一个父元素jQuery后代:children()children():返回被选元素集合的所有直接子元素jQuery同胞:next(),prev(),siblings()prev():返回被选元素集合的上一个同胞元素next():返回被选元素集合的下一个同胞元素siblings():获得被选元素集合的同辈元素10.5.3jQuery函数—获取祖先、孩子、兄弟获取祖先9210.5.3jQuery函数—获取祖先、孩子、兄弟<div><p>Hello</p></div><divclass="selected"><p>HelloAgain</p></div>$("p").parent(".selected").css("background","pink");10.5.3jQuery函数—获取祖先、孩子、兄弟<div9310.5.3jQuery函数—获取祖先、孩子、兄弟<div><span>Hello</span><pclass="selected">HelloAgain</p><divclass="selected">AndAgain</div><p>AndOneLastTime</p></div>$("div").children(".selected").css("color","blue");10.5.3jQuery函数—获取祖先、孩子、兄弟<div9410.5.3jQuery函数—获取祖先、孩子、兄弟<div><span>Hello</span></div><pclass="selected">HelloAgain</p><p>AndAgain</p>$("p").prev().css("background","yellow");$("p").prev(".selected").css("background","yellow");10.5.3jQuery函数—获取祖先、孩子、兄弟<di9510.5.3jQuery函数—获取祖先、孩子、兄弟<ul><li>listitem1</li><li>listitem2</li><liclass="third-item">listitem3</li><li>listitem4</li><li>listitem5</li></ul>$('li.third-item').siblings().css('background-color','pink');10.5.3jQuery函数—获取祖先、孩子、兄弟<ul>96实战--两级伸缩菜单实战--两级伸缩菜单97两级伸缩菜单--页面部分<body><divid="navigation"> <ulid="listUL"> <li><ahref="#">Home</a></li> <li><ahref="#">News</a> <ulclass="myHide"> <li><ahref="#">LastestNews</a></li> <li><ahref="#">AllNews</a></li> </ul> </li> <li><ahref="#">Sports</a> <ulclass="myHide"> <li><ahref="#">Basketball</a></li><li><ahref="#">Football</a></li><li><ahref="#">Volleyball</a></li></ul></li> <li><ahref="#">Weather</a> <ulclass="myHide"> <li><ahref="#">Today'sWeather</a></li><li><ahref="#">Forecast</a></li></ul></li> <li><ahref="#">ContactMe</a></li> </ul></div></body>两级伸缩菜单--页面部分<body>98两级伸缩菜单—jQuery实现介绍2个jQuery函数show():显示元素hide():隐藏元素两级伸缩菜单—jQuery实现介绍2个jQuery函数9910.6管理选择结果获取元素的个数提取元素10.6管理选择结果获取元素的个数10010.6.1获取元素的个数size()【实例】页面单击添加div块,并显示序号。10.6.1获取元素的个数size()【实例】页面单击添加10110.6.2提取元素将jQuery对象转换为JS对象[index]获取指定位置元素,从0开始.get(index)获取指定位置元素.get()获取元素对象数组10.6.2提取元素将jQuery对象转换为JS对象10210.6.2提取元素$(function(){ alert($("div")[0].title);//JS对象 alert($("div").get(0).title);//JS对象 alert($("div:eq(0)").attr("title")); alert($("div").attr("title"));})<body> <divtitle="dd"></div></body>10.6.2提取元素$(function(){<body10310.6.2提取元素【实例】提取页面上的div元素,并逆序创建在页面上。10.6.2提取元素【实例】提取页面上的div元素,并逆10410.6.2提取元素【实例】鼠标指向DIV时,显示其序号。.index():获取元素所在的位置。10.6.2提取元素【实例】鼠标指向DIV时,显示其序号105JQuery基础JQuery基础106第10章jQuery基础第10章jQuery基础107主要内容jQuery概述jQuery中的"$"jQuery与CSS使用选择器管理选择结果主要内容jQuery概述10810.1jQuery概述10.1jQuery概述10910.1.1Jquery及其优势jQuery是一个优秀的JavaScript框架,集JavaScript、CSS、DOM、Ajax功能于一体。简化JavaScript的复杂操作方便地选取页面元素—DOM的主要工作。简化常用的JavaScript操作,如数组的操作,迭代等。提供了Ajax操作,简化了代码的书写,方便了异步交互的开发和使用。简化了制作动画效果的过程。提供大量实用方法10.1.1Jquery及其优势jQuery是一个优秀的J11010.1jQuery概述解决了浏览器的兼容性问题便捷地修改页面的表现—CSS的主要工作,并解决了浏览器的兼容性问题。轻松地处理事件,解决了浏览器的兼容问题。10.1jQuery概述解决了浏览器的兼容性问题11110.1.2jQuery的下载下载地址:10.1.2jQuery的下载下载地址:11210.1.3jQuery设计思想1、选择网页元素的方法模拟CSS选择元素独有表达式选择多种筛选方法10.1.3jQuery设计思想1、选择网页元素的方法113(1)模拟CSS选择元素document.getElementById('div1');$('#div1')$('div')$('.box').document.getElementsByTagName('div');getByClass(document,'box');(1)模拟CSS选择元素document.getElemen114(2)独有表达式选择$("li.box")$("li[title]")$("li:last")<ul><li>1</li><liclass='box'>1</li><liclass='box'>1</li><lititle='hello'>1</li><lititle='world'>1</li></ul>(2)独有表达式选择$("li.box")$("li[tit115(3)多种筛选方法$("li:last")$("li").filter("[title=world]")$("li:eq(4)")<ul><li>1</li><liclass='box'>1</li><liclass='box'>1</li><lititle='hello'>1</li><lititle='world'>1</li></ul>$("li[title=world]")(3)多种筛选方法$("li:last")$("li").f116(4)Jquery兼容性处理window.onload=function(){ varoUl=document.getElementsByTagName("ul")[0]; varaChild=oUl.childNodes; for(vari=0;i<aChild.length;i++){ if(aChild[i].nodeType==1){ aChild[i].style.background="blue"; } });$('ul').children().css('background','red');(4)Jquery兼容性处理window.onload=11710.1.3jQuery设计思想2、jQuery写法方法函数化取值赋值合体链式操作10.1.3jQuery设计思想2、jQuery写法118window.onload=function(){};$(function(){});innerHTML=123;html(123)onclick=function(){};click(function(){})(1)Jquery的方法函数化window.onload=function(){};$119(1)Jquery的方法函数化$(function(){ $('div').click(function(){ $(this).html('divdiv'); })})window.onload=function(){ varoDiv=document.getElementById('div1'); oDiv.onclick=function(){ oDiv.innerHTML="div"; }}(1)Jquery的方法函数化$(function(){wi120(2)取值和赋值方法合体html()css()注意:当操作一组元素的时候取值是一组中的第一个赋值是一组中的所有元素$(“div”).css(“background”)读取$(“div”).css(“background”,“red“)赋值(2)取值和赋值方法合体html()注意:当操作一组元素的时121(3)Jquery的链式操作varoDiv=$('#div1');oDiv.html('hello');oDiv.css('background','red');oDiv.click(function(){ alert(123);})$('#div1').html('hello').css('background','red').click(function(){ alert(123);});(3)Jquery的链式操作varoDiv=$('#d12210.2jQurey中的"$""$"是什么?函数!等同于“jQuery""$"能接收的参数函数($是函数的前缀)字符串选择DOM元素创建DOM元素对象“$”调用jQuery中的自定义函数alert(typeof$)10.2jQurey中的"$""$"是什么?alert(1231.$(document).ready()页面HTML框架需要在页面完全加载后才能使用,因此JavaScript编程时要使用window.onload函数。如果需要在页面中多处使用该函数,或者其他.js文件中也包含window.onload,冲突将十分棘手。jQuery中的ready函数解决了这个问题,可以自动将其中的函数在页面加载完成后运行,并且同一个页面中可以使用多个ready方法,互相不冲突。$(document).ready(function(){ //dosomething});$(function(){ //dosomething});1.$(document).ready()页面HTML框架1242.利用"$"创建DOM元素JavaScript创建DOM的方法创建节点元素创建文本节点将文本节点作为孩子添加到节点document.onclick=function(){ varoNewP=document.createElement("p"); varoText=document.createTextNode("这是一个感人肺腑的故事"); oNewP.appendChild(oText); document.body.appendChild(oNewP);}2.利用"$"创建DOM元素JavaScript创建DO1252.利用"$"创建DOM元素jQuery创建DOM的方法$("")$(document).click(function(){ varoNewP=$("<p>这是一个感人肺腑的故事</p>"); $(document.body).append(oNewP);});2.利用"$"创建DOM元素jQuery创建DOM的方1263.包装JavaScript对象JS对象在JQ中的引用方法:使用"$"选取$(this)$(document)$(document.body)$(window)varoDiv;$(oDiv)3.包装JavaScript对象JS对象在JQ中的引用方法1273.包装JavaScript对象JQ与JS代码可以共存,但在一个表达式中不能混写JavaScript中的原生对象可以调用原生的方法/属性JQ对象可以调用JQ中的方法$(this).html()//jq的写法this.innerHTML//js的写法
$(this).innerHTML//错误!this.html()//错误!3.包装JavaScript对象JQ与JS代码可以共存,但1284.使用$调用jQurey的功能函数jQuery中提供了很多功能函数,完成诸多方面的功能,涉及Javascript的方方面面。调用方法:$.4.使用$调用jQurey的功能函数jQuery中提供了很1294.使用$调用jQurey的功能函数<scriptsrc="jquery-1.11.1.min.js"></script><script>varsStr="123456";sStr=$.trim(sStr);alert(sStr.length);</script>【例】$引用功能函数的用法。4.使用$调用jQurey的功能函数<scriptsrc13010.3jQuery与CSS3CSS1:1996年由W3C推出CSS2:1998年推出,陆续得到多数浏览器支持CSS3:陆续发布中,吸取了web发展的需求,提出了很多新颖的CSS特性。增强了选择器,如属性选择器,位置选择器等。存在的问题:各浏览器对CSS3的支持还有待提高。jQuery:提供了几乎CSS3下的所有选择器,具有很好的兼容性,使理论上的CSS3选择器变成了事实。10.3jQuery与CSS3CSS1:1996年由W313110.3jQuery与CSS3CSS选择器参考手册10.3jQuery与CSS3CSS选择器参考手册13210.4使用选择器基本选择器层叠选择器属性选择器位置选择器过滤选择器反向过滤选择器10.4使用选择器基本选择器13310.4.1基本选择器$("#id")
id选择器$("tagName")
标签选择器,返回数组
$(".class")
类选择器,返回数组
$("*")
选择文档中的所有的元素组合形式:$("E.C")选择样式名称为C的E标记$("E#I")选择id为I的E标记10.4.1基本选择器$("#id")
13410.4.2层叠选择器目前主流的浏览器尚不完全支持CSS3选择器,jQuery在满足兼容性的前提下,实现按照CSS3方式选择元素10.4.2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030年超声波洗净机项目投资价值分析报告
- 2025-2030年贴片式整流二极管项目投资价值分析报告
- 2025-2030年豪华游览车项目投资价值分析报告
- 初中语文整合性学习方案试题及答案
- 市场需求分析与马工学的融合试题及答案
- 湖南省郴州市北湖区鲁塘中学2023-2024学年中考数学押题试卷含解析
- 2025年过滤材料:滤料合作协议书
- 大数据背景下企业经营策略分析
- 如何使用日程软件来帮助时间管理
- 学校专职副书记发言稿简短
- 办公设备投标方案(技术方案)
- GB/T 28952-2024中国森林认证产销监管链
- 智能智能化智能手表
- 铁路客运营销培训课件
- 学校食堂员工薪资专项方案
- 2024年辽宁铁道职业技术学院高职单招(英语/数学/语文)笔试历年参考题库含答案解析
- 国际人权法案例分析
- 铁路消防安全知识培训课件
- 村庄规划服务投标方案(技术方案)
- 《项脊轩志》公开课课件【一等奖】
- 消防安全教育培训记录
评论
0/150
提交评论