jQuery学习笔记01
来源:互联网 发布:淘宝旺旺号有什么用 编辑:程序博客网 时间:2024/06/07 04:27
- jQuery官方网站:http://jquery.com/ 下载地址:https://code.jquery.com/
- 第一个jQuery程序
1.window.onload加载
<script type="text/javascript"> /* window.onload加载 */ window.onload = function() { alert("Hello World!----->window.onload加载=="); } //赋值操作,会覆盖之前的onload window.onload = function(){ alert("Hello World!----->window.onload加载===="); }</script>
2.jQuery的ready加载
<!-- 在当前页面引入jquery的js文件 --><script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery-1.8.3.js"></script><script type="text/javascript"> /* jQuery() 是jQuery的核心函数,可以把这个函数理解为一个工厂,产生出来的一个jQuery对象 例如:jQuery(document):把document转换为jQuery对象 jQuery(document).ready(回调函数); ready(回调函数):这个方法的作用是DOM载入就绪后,立即执行回调函数(优先window.onload执行) */ //执行完第一个ready()之后,返回的还是jQuery对象,故可以再调用jQuery对象方法--->链式操作(链式编程) jQuery(document).ready(function() { alert("Hello World!-----jQuyer的ready加载-"); }).ready(function(){ alert("Hello World!-----jQuyer的ready加载---"); alert("${pageContext.request.contextPath }"); }); //不会覆盖之前的ready jQuery(document).ready(function(){ alert("Hello World!-----jQuyer的ready加载------"); }); //结论:先按顺序执行jQuery的每一个ready事件,最后执行最后一次绑定的window.onload事件</script>
3.window.onload和jQuery的ready区别
1).执行时机不同
window.onload 会在DOM(Document Object
Model:文档对象模型)载入就绪(整个文档的架子已加载完成,可以获取到所有的DOM节点),
并且DOM中的所有内容全部加载完毕后才执行,举个典型的例子:当页面中有大量的图片时,浏览器会先载入 DOM,而当DOM载入完成时,DOM中的window.onload的执行时机在大多数情况下不是我们想要的。而jQuery
提供的jQuery(document).ready(回调函数);会在页面 DOM
加载就绪后,回调函数便会立即执行!因此,jQuery的ready会先于window.onload执行。
2).编写个数不同
window.onload采用js中的赋值操作,为其指定了一个函数:window.onload=function(){…};当再次为window.onload赋值一个新的函数时,之前的函数会被新的函数覆盖,因此window.onload的方式只能编写一个加载事件,而jQuery采用其特有的ready方法,可以同时编写多个加载事件,不会产生覆盖的问题,而且会按照编写的顺序依次执行!
4.jQuery的别名$
- 为了简化代码,jQuery定义了一个全局的变量
作为别名来代替jQuery,即 =jQuery,是jQuery的别名例如,jQuery(document).ready(回调函数);可以简写为 (document).ready(回调函数);
<title>jQuery的别名:$</title><!-- 引入jQuery的js文件 --><script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery-1.8.3.js"></script><script type="text/javascript"> jQuery(document).ready(function() { alert("jQuery的别名$"); }); /* $=jQuery */ $(document).ready(function(){ alert("jQuery的别名$----"); });</script>
5.jQuery的核心函数
1).jQuery的核心函数一:$(callback)--->DOM加载完成时要执行的函数
<title>jQuery的核心函数一:$(callback):DOM加载完成时要执行的函数</title><!-- 引入jQuery的js文件 --><script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery-1.8.3.js"></script><script type="text/javascript"> /* 核心函数一: $(callback):DOM加载完成时要执行的函数 jQuery(document).ready()--->$(document).ready()--->$(callback) */ $(function(){ alert("DOM加载完成时要执行的函数!"); }); //为了防止当前页面中其他框架也使用$,通常写成: jQuery(function($){ alert("在调用jQuery函数的时候,传递了一个匿名函数,这个函数会在jQuery方法中进行调用,在调用这个函数的时候,jQuery把自身作为参数传递给了这个函数,因此,在这个函数中,参数就表示jQuery对象"); }); //如下写法也是可以的(不常写) $(function($){ alert("test"); })</script>
2).jQuery核心函数二:$(html代码)--->将html代码片段转换为jQuery对象
<title>jQuery核心函数二:$(html代码):将html代码片段转换为jQuery对象</title><!-- 引入jQuery的js文件 --><script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery-1.8.3.js"></script><script type="text/javascript"> /* jQuery核心函数二: $(html代码):将html代码片段转换为jQuery对象 */ $(function() { //$(html代码):将html代码片段转换为jQuery对象 var $div = $("<div>将html代码片段转换为jQuery对象</div>"); alert($div.html()); });</script>
3).jQuery核心对象三:$(selector)--->根据选择器获取页面中元素
<title>jQuery核心对象三:$(selector):根据选择器获取页面中元素</title><!-- 引入jQuery的js文件 --><script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery-1.8.3.js"></script><script type="text/javascript"> /* jQuery核心对象三: $(selector):根据选择器获取页面中元素 */ jQuery(function($) { var $mydiv = $("#mydiv"); //id选择器 //alert($mydiv.html()); var $mydiv = $(".cl"); //类选择器 //alert($mydiv.html()); var $mydiv = $("div"); //标签选择器 alert($mydiv.html()); });</script></head><body> <div class="cl" id="mydiv">根据选择器获取页面中元素</div></body>
4).jQuery的核心函数四:$.holdReady(hold)--->暂停或恢复ready事件的执行
<title>jQuery的核心函数四:$.holdReady(hold):暂停或恢复ready事件的执行</title><!-- 引入jQuery的js文件 --><script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery-1.8.3.js"></script><script type="text/javascript"> /* jQuery核心对象四: $.holdReady(hold):暂停或恢复ready事件的执行 用法:此方法不要写在ready事件中,直接写在javascript标签中 */ jQuery(function($) { //jQuery加载完成事件的代码 alert("jQuery的核心函数四:$.holdReady(hold):暂停或恢复ready事件的执行"); }); //阻止jQuery的ready事件的执行 jQuery.holdReady(true);</script></head><body> <div class="cl" id="mydiv" onclick="jQuery.holdReady(false)">jQuery的核心函数四:$.holdReady(hold):暂停或恢复ready事件的执行</div></body>
6.JQuery对象和DOM对象
1).JQuery对象和DOM对象区别:
- 什么是jQuery对象?
jQuery对象是jQuery框架独有的,通过jQuery的核心函数$(selector)获取。selector也可以是一个DOM对象,jquery会把DOM对象转换为jQuery对象
- 什么是DOM对象?
DOM的全称是“Document Object Model”,即文档对象模型,而DOM对象指的是某个或某些具体的节点对象,通过document.getElementXXX()获取。
- 两者之间的区别?
jQuery对象只能使用jQuery对象的属性和方法,不能直接使用DOM对象的属性和方法;同样,DOM对象只能使用DOM对象的属性和方法,不能直接使用jQuery对象的属性和方法。两种对象的属性和方法不通用!jQuery对象在使用其属性和方法的时候,实际上底层使用的依然是DOM对象中的属性和方法。那么,在页面中如何区分jQuery对象和DOM对象呢?在开发中有个约定:在jQuery对象的前面加$,例如:
var $mydiv = $(“#mydiv”); // $mydiv是jQuery对象var mydiv = document.getElementById(“mydiv”); // mydiv是DOM对象
2).JQuery对象和DOM对象相互转换:
<title>JQuery对象和DOM对象相互转换</title><!-- 引入jQuery的js文件 --><script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery-1.8.3.js"></script><script type="text/javascript"> jQuery(function($) { //1.DOM对象--->jQuery对象 //先获取DOM对象 var mydiv = document.getElementById("mydiv"); alert("mydiv.innerHTML:" + mydiv.innerHTML); /* DOM对象不能使用jQuery对象中的属性和方法 如下两行报错:Uncaught TypeError: mydiv.html is not a function */ //alert(mydiv.html()); //Uncaught TypeError: mydiv.html is not a function // alert(mydiv.text()); //Uncaught TypeError: mydiv.html is not a function //$=jQuery, $(mydiv):将DOM对象转换为jQuery对象 var $mydiv = $(mydiv); alert($mydiv.html()); alert($mydiv.text()); /* jQuery对象不能使用DOM对象中的属性和方法 总结:jQuery对象和DOM对象的属性和方法不能直接相互调用 */ //alert($mydiv.innerHTML); //没有该属性,但不会报错 //jQuery对象--->DOM对象 //方式一:获取jQuery对象中指定索引的DOM对象 var mydiv = $mydiv[0]; alert(mydiv.innerHTML); //方式二:获取jQuery对象中指定索引的DOM对象 var mydiv = $mydiv.get(0); alert(mydiv.innerHTML); //方式三:真正将jQuery对象转为DOM对象的数组, //上述两种方式只适于jQuery中只匹配一个元素的jQuery对象转换 var domArr = $mydiv.get(); alert(domArr[0].innerHTML); });</script></head><body> <div id="mydiv" class="abc"> <span>jQuery对象和DOM对象相互转换</span> </div></body>
7.案例
<title>改变div中的内容为"单骑飘尘",分别使用传统js方式和jQuery方式</title><!-- 引入jQuery的js文件 --><script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery-1.8.3.js"></script><script type="text/javascript"> jQuery(function($) { //需求:改变div中的内容为"单骑飘尘",分别使用传统js方式和jQuery方式 //1.传统js方式改变并获取div中的内容 (html内容,text内容) var mydiv = document.getElementById("mydiv"); //所有浏览器都支持 mydiv.innerHTML = "单骑飘尘innerHTML"; //所有ie和新版本标准浏览器,老版本标准浏览器不支持innerText属性 mydiv.innerText = "单骑飘尘innerText"; //所有标准浏览器和新版本ie(9及以上)才支持 mydiv.textContext = "单骑飘尘textContext"; //为了解决兼容问题,通常innerText和textContext指定相同的内容 mydiv.innerText = "单骑飘尘"; mydiv.textContext = "单骑飘尘"; //连续赋值操作,执行顺序:从右往左执行 mydiv.innerText = mydiv.textContext = "单骑飘尘..."; /* html和text的区别? * html会解析内容中html标签,而text会将给定的html内容原样显示在页面中 * 如果要使用html输出html内容,需要进行转义,例如如果要输出文本" ", * 需要进行转义:"&nbsp;",比较麻烦,这种情况下可以使用text来完成! * 在书写html参考文档时,使用text比较合适! */ // 让div显示:<font color="red">如何改变文字的颜色</font> //mydiv.innerHTML="<font color='red'>如何改变字体的颜色</font>"; //html解析了html中的内容:如何改变字体的颜色 mydiv.innerHTML="<font color='red'>如何改变字体中的颜色</font>"; //<font color='red'>如何改变字体中的颜色</font> mydiv.innerText="<font color='red'>如何改变字体的颜色</font>"; //<font color='red'>如何改变字体的颜色</font> //2.jQuery方式改变和获取div的内容和文本 //jQuery提供了针对html和文本相应的方法,分别是html方法和text方法 //若要将指定的内容原样输出,得使用text $("#mydiv").text("单骑飘尘jQuery...text"); //让浏览器解析指定的html内容 $("#mydiv").html("<font color='red'>如何改变文字的颜色_jquery的html方法</font>"); $("#mydiv").text("<font color='red'>如何改变文字的颜色_jquery的text方法</font>"); //jQuery 在调用方法的时候,有个规律:给参数就是设置,不给参数就是获取 alert($("#mydiv").text()); alert($("#mydiv").html()); });</script></head><body> <dir id="mydiv"></dir></body>
- jQuery学习笔记01
- jQuery学习笔记01
- jQuery学习笔记01
- jquery源码学习笔记-01
- 【学习笔记】JQuery学习笔记
- jQuery 学习笔记 + jQuery-UI 学习笔记
- 【jQuery 学习笔记】初识jQuery
- jQuery 学习笔记------jQuery选择器
- jquery学习笔记----初识jquery
- jQuery学习笔记--jQuery Ajax
- day18:jQuery编程学习笔记01
- jQuery源码学习笔记(01)
- 【《jQuery实战》学习笔记01】第一章jQuery引荐
- jquery学习笔记
- jquery选择器学习笔记
- jQuery学习笔记
- 【jquery】学习笔记
- jQuery学习笔记
- PHP变量
- 【shell】变量内容的删除和替换
- 构造函数、析构函数、拷贝构造函数,常函数
- 数据结构之树的一些基本操作
- Eclipse Debug不为人知的秘密
- jQuery学习笔记01
- 友元函数和运算符重载
- Java多线程基础--03之 Thread中start()和run()的区别
- 【PAT】1017. The Best Peak Shape
- ACM_20
- SSH服务器
- Linux下高级I/O多路转接之poll服务器
- C++重载箭头操作符的理解
- maven的pom 依赖(坐标)导入异常