1、本章目标
了解jquery
了解jquery和js的区别
掌握jquery的入门
掌握jquery对象和dom对象的区别
2、jquery简介
jquery是一个轻量级的JavaScript函数库
用于客户端浏览器
核心功能:
HTML元素选取和操作
HTML事件函数
css操作
ajax
jquery的优势:
1、轻量级
2、强大的选择器
3、浏览器的兼容性比较好
4、完善的ajax
.........
3、jquery安装
1、下载jquery的js文件
2、在页面中引入jquery的js文件
3、jquery的代码放在:
$(document).ready(functioin(){
//代码
});
$(function(){
//代码
});
上述的两种写法的功能:类似于window.onload,初始化加载
上述的两种写法的功能和window.onload区别:
1、window.onload等页面所有内容加载完成后才会执行
$(document).ready() 等页面结构加载完后才会执行
2、window.onload若有多个,只会执行最后一个
$(document).ready()若有多个,均被执行
4、jquery对象和dom对象
dom对象:页面中所有的元素节点
jquery对象:jquery对dom对象包装后产生的对象
通常:$("#元素id")
注意:dom对象和jquery对象不要混合使用
比如:获取文本框的值
js:value属性
jquery:val()方法
5、jquery对象和dom对象的相互转换(了解)
jquery对象转dom对象
(1)jquery对象[下标]
(2)jquery对象.get(下标)
将jquery对象当做dom对象数组,通过下标的方式进行访问
dom对象转jquery对象
$(dom对象)
6、$的冲突问题
jquery中封装了$符号,如果其他的框架也有$符号,可能会有冲突的问题
解决方案1:
jquery的引入没有先后顺序
在jquery代码中第一行加入:jQuery.noConflict(); 表示释放jquery对象中的$
比如:
<script>
jQuery.noConflict(); //释放jquery中的$符号
jQuery(funcion(){
jQuery("p").css("color","red");
});
</script>
解决方案2:
把jquery的引入放在最前面,再引入其他的框架
比如:
<script>
jQuery(function(){
$("p").css("color","red");
});
</script>
解决方案3:
把jquery的引入放在最前面,在引入其他框架
比如:
//闭包
(function($){
$("p").css("color","red");
})(jQuery);
本章代码
demo1
<html> <head> <script src="js/jquery-3.2.1.min.js"></script> <script type="text/javascript"> //onload只会执行最后一个 window.onload = function(){ alert('1'); } window.onload = function(){ alert('2'); } //两个都会被执行 $(document).ready(function(){ alert('3'); }); $(function(){ alert('4'); }); </script> </head> <body> </body> </html>
demo2
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1"> <title></title> <script src="js/jquery-3.2.1.min.js"></script> <script> $(document).ready(function(){ //js获取文本框的值 //为btn按钮绑定单击事件 document.getElementById("btn").onclick = function(){ var v = document.getElementById("txt").value; alert(v); } //jquery获取文本框的值 //为btn按钮绑定单击事件 $("#btn").click(function(){ //通过jquery对象写法,获取文本框对象的值 var v = $("#txt").val(); alert(v) }); }); </script> </head> <body> <input type="text" id="txt" /> <input type="button" value="获取文本框的值" id="btn"/> </body> </html>
demo3
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1"> <title></title> <script src="js/jquery-3.2.1.min.js"></script> <script> $(document).ready(function(){ document.getElementById("btn").onclick = function(){ //获取文本框的dom对象 var v = document.getElementById("txt"); //将dom对象转为jquery对象 var v2 = $(v); var v3 = v2.val(); alert(v3) } $("#btn").click(function(){ //获取文本框的jquery对象 var v = $("#txt"); //将jquery对象转为dom对象 var v2 = v.get(0); //v[0]; var v3 = v2.value; alert(v3) }); }); </script> </head> <body> <input type="text" id="txt" /> <input type="button" value="获取文本框的值" id="btn"/> </body> </html>