目录
1. jQuery简介
jQuery是一个快速、简洁的JavaScript框架,是一个JavaScript代码库,优化HTML文档操作(DOM)、事件处理、动画设计和Ajax交互。
Ajax 即异步 JavaScript 和 XML,是指一种创建交互式网页应用的网页开发技术,简单来说就是前端向后端传递数据的技术。Ajax无需重新加载网页便可更新部分网页。
JavaScript代码库提供了大量的api(应用程序接口) ,有很多内置方法,比如:click() dbclick()
2. jQuery的开发步骤
- 导入js核心库
- 确定页面载入事件
- 注意:
- jQuery中,两个方法名相同的方法,不会互相覆盖。
<script src="js/jquery-1.11.0.js"></script>
<script>
//ready是页面载入事件
//方式1:
jQuery(document).ready(function(){
alert("jQuery(document).ready(function()1");
}) ;
//方式2:
//$("选择器")
$(document).ready(function(){
alert("$(document).ready(function()2") ;
}) ;
//简写方式:
$(function(){
alert("页面载入事件触发了,简化方式的写法");
});
</script>
3. jQuery与JavaScript
- jQuery比JavaScript的onload优先执行
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Jquery的入门</title>
<script src="js/jquery-1.11.0.js"></script>
<script>
function init(){
alert("js的页面载入事件");
}
//页面载入事件
$(function(){ //相当于onload事件
alert("jq的页面载入事件") ;
}) ;
</script>
</head>
<body onload="init()">
</body>
</html>
- 两者使用函数的比较
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jQuery入门</title>
<script src="js/jquery-1.11.0.js"></script>
<script>
//js
function jsclick(){
alert("js点击了");
}
//jq中不需要指定onclick,可以只通过id使用id选择器来实现
$(function(){
//点击事件
//寻找事件源
$("jqb").click(function(){
alert("jq点击了");
})
});
</script>
</head>
<body>
<input type="button" value="js点击" onclick="jsclick()" />
<input type="button" value="jq点击" id="jqb" />
</body>
</html>
- 两者之间的相互转换
- js -> jq 在js对象前加上$符号,即 $(js对象)-->jQuery对象
- jq -> js 通过get()
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>js与jq的转换</title>
</head>
<script src="js/jquery-1.11.0.js"></script>
<script>
//js
function jsChange(){
var ele=document.getElementById("div1");
//转换为jq对象
var $ele=$(ele);
//相当于js中的innerHTML
$ele.html("js -> jq");
}
//jq
$(function(){
$("#btn2").click(function(){
var ele=$("#div1").get(0);
ele.innerHTML="jq -> js";
});
});
</script>
<body>
<input type="button" onclick="jsChange()" value="这是js更改下面div文本内容的方式" id="btn1" /><br />
<input type="button" value="使用jq的方式更改下面div文本内容" id="btn2" /><br />
<div id="div1">
被Js/jQuery的方式更改掉
</div>
</body>
</html>
4. jQuery的动画效果
- show()方法:显示隐藏的匹配元素
- hide()方法:隐藏元素
- show(speed, [callback])
- hide(speed, [callback])
- speed:三种速度"slow"、"normal"或 "fast" / 表示动画时长的毫秒数值
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>动画效果</title>
<script src="js/jquery-1.11.0.js"></script>
<script>
$(function(){
$("#btn1").click(function(){
//普通显示
// $("img").show(3000);
//从上向下显示
// $("img").slideDown(2000);
//淡出
// $("img").fadeIn(2000);
//自定义显示
$("img").animate({width:"500px",opacity:"1"},2000) ;
});
});
$(function(){
$("#btn2").click(function(){
//普通隐藏
// $("img").hide(2000);
//从下向上隐藏
// $("img").slideUp(2000);
//淡入
// $("img").fadeOut(2000);
//自定义隐藏
$("img").animate({width:"500px",opacity:"0.1"},2000) ;
});
});
</script>
</head>
<body>
<input type="button" value="显示" id="btn1" />
<input type="button" value="隐藏" id="btn2" />
<br />
<img src="img/海景1.jpg" width="500px" />
</body>
</html>
5. jQuery的基本选择器
- 基本选择器
- id选择器
- class选择器
- element元素选择器
- 通配符选择器:*
- 并集选择器 selector 1,selector 2..seletor n..
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>基本选择器</title>
<!--引入样式 rel指定层级样式表-->
<link href="css/style.css" rel="stylesheet" />
<script src="js/jquery-1.11.0.js"></script>
<script>
$(function(){
//id选择器
$("#btn1").click(function(){
$("#two").css("background-color","darksalmon");
})
//class选择器
$("#btn2").click(function(){
$(".mini").css("background-color","powderblue");
})
//元素选择器
$("#btn3").click(function(){
$("div").css("background-color","lightgoldenrodyellow");
})
//通配符选择器
$("#btn4").click(function(){
$("*").css("background-color","plum");
})
//并集选择器
$("#btn5").click(function(){
$("。mini,span").css("background-color","chartreuse");
})
})
</script>
</head>
<body>
<input type="button" value="选中id为two的div元素" id="btn1"/><br />
<input type="button" value="选中当前页面中所有的mini类的元素" id="btn2"/><br />
<input type="button" value="选中当前页面中div元素" id="btn3"/><br />
<input type="button" value="通配符选择器" id="btn4"/><br />
<input type="button" value="选中mini类元素和span元素" id="btn5"/><br />
<div id="one">
<div class="mini">1-1</div>
</div>
<div id="two">
<div class="mini">2-1</div>
<div class="mini">2-2</div>
</div>
<div id="three">
<div class="mini">3-1</div>
<div class="mini">3-2</div>
<div class="mini">3-3</div>
</div>
<div id="four">
<span>span</span>
</div>
</body>
</html>
6. jQuery的层级选择器
- 层级选择器
- 子元素选择器 :selector1 selector2 (并集选择器)
- 后代选择器:selector1 > selector2
- 相邻兄弟选择器:selector1 + selector2
- 所有兄弟选择器:selector1 ~ selector2
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>层级选择器</title>
<link href="css/style.css" rel="stylesheet" />
<script src="js/jquery-1.11.0.js"></script>
<script>
$(function(){
//子元素选择器
$("#btn1").click(function(){
$("body div").css("background-color","#FFE0E9");
});
//后代选择器
$("#btn2").click(function(){
$("body > div").css("background-color","aquamarine");
});
//相邻兄弟选择器
$("#btn3").click(function(){
$("#one + #two").css("background-color","blanchedalmond");
});
//所有兄弟选择器
$("#btn4").click(function(){
$("#one ~ div").css("background-color","plum");
})
});
</script>
</head>
<body>
<input type="button" value="选中body中所有的div" id="btn1"/><br />
<input type="button" value="选中body中的子div" id="btn2"/><br />
<input type="button" value="选中one的相邻兄弟" id="btn3"/><br />
<input type="button" value="选中one的所有兄弟" id="btn4"/><br />
<div id="one">
<div class="mini">1-1</div>
</div>
<div id="two">
<div class="mini">2-1</div>
<div class="mini">2-2</div>
</div>
<div id="three">
<div class="mini">3-1</div>
<div class="mini">3-2</div>
<div class="mini">3-3</div>
</div>
<div id="four">
<span>span</span>
</div>
</body>
</html>
7. jQuery的基本过滤器
- 基本过滤器
- 过滤出当前元素中第一个,选择器:first /first()
- 过滤出索引值为偶数的,选择器:even
- 过滤出索引值为奇数的,选择器:odd
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>基本过滤器</title>
<link href="css/style.css" rel="stylesheet"/>
<script src="js/jquery-1.11.0.js"></script>
<script>
$(function(){
$("#btn1").click(function(){
$("div:first").css("background-color","paleturquoise");
// $("div").first().css("background-color","paleturquoise");
});
$("#btn2").click(function(){
$("div:even").css("background-color","lightblue");
});
$("#btn3").click(function(){
$("div:odd").css("background-color","plum");
});
});
</script>
</head>
<body>
<input id="btn1" type="button" value="选中第一个div元素" /><br />
<input id="btn2" type="button" value="选中索引值是偶数的div元素" /><br />
<input id="btn3" type="button" value="选中索引值是奇数的div元素" /><br />
<div id="one"><!--0-->
<div class="mini">1-1</div><!--1-->
</div>
<div id="two"><!--2-->
<div class="mini">2-1</div><!--3-->
<div class="mini">2-2</div>
</div>
<div id="three">
<div class="mini">3-1</div>
<div class="mini">3-2</div>
<div class="mini">3-3</div>
</div>
<span id="four">span</span>
</body>
</html>
8. jQuery的属性选择器
- 格式
- 标签[属性名称]
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>属性选择器</title>
<script src="js/jquery-1.11.0.js"></script>
<script>
$(function(){
//单个属性,选中带有href属性的标签
$("a[href]").css("background-color","palegoldenrod");
//多个属性
$("a[href][title]").css("background-color","peachpuff");
//多个属性并有确定值
$("a[href][title='test']").css("background-color","plum");
//选中文本框
$("input:text").css("background-color","lightsalmon");
//下拉菜单
$("#btn1").click(function(){
//选中option元素是否能选中: :selected配所有选中的option元素
$("option:selected").css("background-color","paleturquoise");
//size():jQuery 对象中元素的个数
alert($("option:selected").size()) ;
});
});
</script>
</head>
<body>
<a href="">超链接1</a><br />
<a href="" title="test">超链接2</a>
<input type="button" value="button" />
<input type="text" />
<!--mutiple属性:表示选中多个值的,多选-->
<select multiple="multiple">
<option>option1</option>
<option>option2</option>
<option>option3</option>
</select>
<input type="button" value="点击" id="btn1" />
</body>
</html>