JQuery是一个对JavaScript的框架,里面是JavaScript的库,
基本上学习jQuery就是学习它的方法和选择器,包括基本选择器、层级选择器...和文档加载的方法、点击的方法.....
JQuery与Dom对象:
JQuery对象是使用JQuery()或$()包装了dom对象后的对象;jQuery对象是jQuery库中独有的;如果是一个jQuery对象
那么它就可以使用jQuery库中的所有方法,需要注意的是,dom和jQuery两个对象不能使用对方的方法,要使用需要进行转换
①、dom对象和jQuery对象的相互转换
②、基本选择器
③、层级选择器
④、子元素的过滤选择器
⑤、对于隐藏显示内容的选择器
⑥、对标签的属性过滤选择器
对于jQuery来说,其轻量级,强大的选择器还有dom操作的封装对事件的处理机制,是很值得我们去学习jQuery的一大亮点
基本上学习jQuery就是学习它的方法和选择器,包括基本选择器、层级选择器...和文档加载的方法、点击的方法.....
JQuery与Dom对象:
JQuery对象是使用JQuery()或$()包装了dom对象后的对象;jQuery对象是jQuery库中独有的;如果是一个jQuery对象
那么它就可以使用jQuery库中的所有方法,需要注意的是,dom和jQuery两个对象不能使用对方的方法,要使用需要进行转换
①、dom对象和jQuery对象的相互转换
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP '02_jquery_turn.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<script type="text/javascript" src="js/jquery-1.11.3.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var div = document.getElementById("div");
//dom转换成jQuery
//div = $(div);
//alert(div);
var div1 = $("#div");
//jQuery对象转换成dom对象
//div1 = div1.get(0);
//alert(div1);
var input1 = $("#div");
alert(input1.html()); //获取input1里面的所有包括html标签,原样写出
alert(input1.text()); //获取input1里面的所有数据,不包括html标签
alert(input1.val()); //获取标签里面的value属性
});
</script>
</head>
<body>
<div id="div"><font color="red">div的内容</font></div>
<input type="text" value="text的内容" id="input1" />
</body>
</html>
②、基本选择器
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>基本过滤选择器</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="js/jquery-1.11.3.js"></script>
<style type="text/css">
body{
font-family: "Microsoft YaHei"
}
.divCls {
width:180px;
height:180px;
color: white;
border: solid 1px white;
margin-left: 10px;
float: left;
background-color: #4CA902;
}
.subDivCls {
width:60px;
height:60px;
color:white;
border: solid 1px white;
font-size: 12px;
margin: 5px;
float: right;
background-color: #FF4500;
}
.spanCls{
color:white;
border: solid 1px white;
margin: 5px;
float: left;
height: 50px;
background-color: #B7103B;
}
div span{
border: solid 1px white;
font-size: 12px;
margin:5;
background-color: #B7103B;
}
.cGreen{background-color: #4CA902}
.cPink{background-color: #ED4A9F}
.cBlue{background-color: #0092E7}
.cCyan{background-color: #01A6A2}
.cYellow{background-color: #DCA112}
.cRed{background-color: #B7103B}
.cPurple{background-color: #792F7C}
.cBlack{background-color: #110F10}
.cOrange{background-color: #FF4500}
.cGray{background-color: #A9A9A9}
.hide{display: none;}
</style>
<script type="text/javascript">
$(document).ready(function(){
//执行动画
doAnimate($("#div5")[0]);
$("#btn1").click(function(){
$("#div4>div:first").addClass("cBlack");
});
$("#btn2").click(function(){
$("#div4>div:last").addClass("cBlack");
});
$("#btn3").click(function(){
$("#div2 :not(div)").addClass("cBlack");
});
$("#btn4").click(function(){
$("div:even").addClass("cBlack");
});
$("#btn5").click(function(){
$("div:odd").addClass("cBlack");
});
$("#btn6").click(function(){
$("div:eq(2)").addClass("cBlack");
});
$("#btn7").click(function(){
$("div:gt(2)").addClass("cBlack");
});
$("#btn8").click(function(){
$("div:lt(2)").addClass("cBlack");
});
$("#btn9").click(function(){
//alert($(":header"));
$(":header").css("color","white").addClass("cBlack");
});
$("#btn10").click(function(){
$(":animated").addClass("cBlack");
});
});
function doAnimate(obj){
$(obj).animate({"opacity":"toggle"},"slow",function(){
doAnimate(this);
});
};
</script>
</head>
<body>
<h3>基本过滤选择器</h3><br><br>
<div id="div1" class="divCls">id 为div1 的div<br><br>
<div class="subDivCls">class为subDivCls的div</div>
</div>
<div id="div2" class="divCls">id 为div2 的div
<br><br>
<span id="span1">div2里面的span,id为span1</span>
<br><br>
<div class="subDivCls" style="float:left;">class为subDivCls的div</div>
<div class="subDivCls">subDivCls<br>
<span id="span2">span2</span>
</div>
</div>
<div id="div3" class="divCls" title="itcast">
id 为div3 的div,title为itcast,包含隐藏输入框
<input type="hidden" value="hello">
</div>
<span class="spanCls">div3的兄弟元素span</span>
<div id="div4" class="divCls">id 为div4 的div<br>
<div class="subDivCls" style="float:left;">subDivCls<br>
<span id="span2">span4</span></div>
<div class="subDivCls" title="itcast">title为itcast</div>
<div class="subDivCls" style="float:left;">class为subDivCls的div</div>
<div class="subDivCls"></div>
</div>
<div id="div5" class="divCls" >id为div5的正在执行动画的div</div>
<p style="clear:both;"></p>
<br>
<hr>
<input type="button" id="btn1" value=":first选取id为div4的第一个子div">
<input type="button" id="btn2" value=":last选取id为div4的最后一个子div">
<input type="button" id="btn3" value=":not()选取id为div2的所有非div元素">
<input type="button" id="btn4" value=":even选取索引号(从0开始)为偶数的div元素">
<input type="button" id="btn5" value=":odd选取索引号(从0开始)为奇数的div元素">
<input type="button" id="btn6" value=":eq()选取索引号(从0开始)等于2的div元素">
<input type="button" id="btn7" value=":gt选取索引号(从0开始)大于2的div元素">
<input type="button" id="btn8" value=":lt选取索引号(从0开始)小于2的div元素">
<input type="button" id="btn9" value=":header选取标题元素">
<input type="button" id="btn10" value=":animated选取正在执行动画的div元素">
</body>
</html>
③、层级选择器
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>层级选择器</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="js/jquery-1.11.3.js"></script>
<style type="text/css">
body{
font-family: "Microsoft YaHei"
}
.divCls {
width:180px;
height:180px;
color: white;
border: solid 1px white;
margin-left: 10px;
float: left;
}
.subDivCls {
width:60px;
height:60px;
color:white;
border: solid 1px white;
font-size: 12px;
margin: 5px;
float: right;
}
.spanCls{
color:white;
border: solid 1px white;
margin: 5px;
float: left;
height: 50px;
}
div span{
border: solid 1px white;
font-size: 12px;
margin:5;
}
.cGreen{background-color: #4CA902}
.cPink{background-color: #ED4A9F}
.cBlue{background-color: #0092E7}
.cCyan{background-color: #01A6A2}
.cYellow{background-color: #DCA112}
.cRed{background-color: #B7103B}
.cPurple{background-color: #792F7C}
.cBlack{background-color: #110F10}
.hide{display: none;}
</style>
<script type="text/javascript">
$(document).ready(function(){
$("#btn1").click(function(){
$("#div2 span").addClass("cBlack");
});
$("#btn2").click(function(){
$("#div2 >span").addClass("cBlack");
});
$("#btn3").click(function(){
$("#div2+div").addClass("cBlack");
});
$("#btn4").click(function(){
$("#div2~ span").addClass("cBlack");
});
$("#btn5").click(function(){
$("#div2").siblings("div").addClass("cBlack");
});
});
</script>
</head>
<body>
<div id="div1" class="divCls cGreen">id 为div1 的div<br><br>
<div class="subDivCls">class为subDivCls的div</div>
</div>
<div id="div2" class="divCls cPink">id 为div2 的div
<br><br>
<span id="span1">div2里面的span,id为span1</span>
<br><br>
<div class="subDivCls" style="float:left;">class为subDivCls的div</div>
<div class="subDivCls">subDivCls<br>
<span id="span2">span2</span>
</div>
</div>
<div id="div3" class="divCls cBlue" title="itcast">
id 为div3 的div,title为itcast,包含隐藏输入框
<input type="hidden" value="hello">
</div>
<span class="spanCls cRed">div3的兄弟元素span</span>
<div id="div4" class="divCls cYellow">id 为div4 的div<br>
<div class="subDivCls" style="float:left;">subDivCls<br>
<span id="span2">span4</span></div>
<div class="subDivCls" title="itcast">title为itcast</div>
<div class="subDivCls" style="float:left;">class为subDivCls的div</div>
<div class="subDivCls"></div>
</div>
<div class="divCls cCyan hide">class设置为隐藏的,隐藏div</div>
<div class="divCls cPurple" style="display: none">style的display为none的隐藏div</div>
<div style="clear: both;"></div>
<br><br>
<hr>
<input type="button" id="btn1" value="选取id为div2的所有span后代元素">
<input type="button" id="btn2" value="选取id为div2的所有span子元素">
<input type="button" id="btn3" value="选取id为div2的下一个div兄弟元素">
<input type="button" id="btn4" value="选取id为div2之后的所有div兄弟元素">
<input type="button" id="btn5" value="选取id为div2的所有div兄弟元素">
</body>
</html>
④、子元素的过滤选择器
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>子元素过滤选择器</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="js/jquery-1.11.3.js"></script>
<style type="text/css">
body{
font-family: "Microsoft YaHei"
}
.cGreen{color: #4CA902}
.cPink{color: #ED4A9F}
.cBlue{color: #0092E7}
.cCyan{color: #01A6A2}
.cYellow{color: #DCA112}
.cRed{color: #B7103B}
.cPurple{color: #792F7C}
.cBlack{color: #110F10}
.cOrange{color: #FF4500}
.cGray{color: #A9A9A9}
.hide{display: none;}
span {
float:left;
}
ul{
}
ul li {
width:120px;
float: left;
}
</style>
<script type="text/javascript">
$(document).ready(function(){
$("#btn1").click(function(){
//子元素过滤选择器里面的索引号全部从1开始
$("ul li:nth-child(2)").addClass("cGreen");
});
$("#btn2").click(function(){
//子元素过滤选择器里面的索引号全部从1开始
$("ul li:nth-child(odd)").addClass("cCyan");
});
$("#btn3").click(function(){
//子元素过滤选择器里面的索引号全部从1开始
$("ul li:nth-child(3n)").addClass("cYellow");
});
$("#btn4").click(function(){
//子元素过滤选择器里面的索引号全部从1开始
$("ul li:first-child").addClass("cPink");
});
$("#btn5").click(function(){
//子元素过滤选择器里面的索引号全部从1开始
$("ul li:last-child").addClass("cBlue");
});
$("#btn6").click(function(){
//子元素过滤选择器里面的索引号全部从1开始
$("ul li:only-child").addClass("cPurple");
});
});
</script>
</head>
<body>
<span>中国城市:</span><br>
<ul id="chn">
<li id="bj">北京</li>
<li id="sh">上海</li>
<li id="gz">广州</li>
<li id="sz">深圳</li>
<li id="hk">香港</li>
</ul>
<br><br>
<span>美国城市:</span><br>
<ul id="usa">
<li id="wst">华盛顿特区</li>
<li id="ny">纽约</li>
<li id="la">洛杉矶</li>
<li id="scg">芝加哥</li>
</ul>
<br><br>
<span>德国城市:</span><br>
<ul id="ger">
<li id="mnh">慕尼黑</li>
</ul>
<div style="clear:both;"></div>
<br><br>
<hr>
<input type="button" id="btn1" value=":nth-child()选取ul的第二个(从1开始)li元素">
<input type="button" id="btn2" value=":nth-child()选取ul的第奇数个li元素">
<input type="button" id="btn3" value=":nth-child()选取ul的第3n(n从0开始)个li元素">
<input type="button" id="btn4" value=":first-child选取ul第一个li元素">
<input type="button" id="btn5" value=":last-child选取ul最后一个li元素">
<input type="button" id="btn6" value=":only-child选取ul中只有唯一li元素">
</body>
</html>
⑤、对于隐藏显示内容的选择器
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>内容、可见性过滤选择器</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="js/jquery-1.11.3.js"></script>
<style type="text/css">
body{
font-family: "Microsoft YaHei"
}
.divCls {
width:180px;
height:180px;
color: white;
border: solid 1px white;
margin-left: 10px;
float: left;
background-color: #0092E7;
}
.subDivCls {
width:60px;
height:60px;
color:white;
border: solid 1px white;
font-size: 12px;
margin: 5px;
float: right;
background-color: #FF4500;
}
.spanCls{
color:white;
border: solid 1px white;
margin: 5px;
float: left;
height: 50px;
background-color: #DCA112;
}
div span{
border: solid 1px white;
font-size: 12px;
margin:5;
background-color: #DCA112;
}
.cGreen{background-color: #4CA902}
.cPink{background-color: #ED4A9F}
.cBlue{background-color: #0092E7}
.cCyan{background-color: #01A6A2}
.cYellow{background-color: #DCA112}
.cRed{background-color: #B7103B}
.cPurple{background-color: #792F7C}
.cBlack{background-color: #110F10}
.cOrange{background-color: #FF4500}
.cGray{background-color: #A9A9A9}
.hide{display: none;}
</style>
<script type="text/javascript">
$(document).ready(function(){
$("#btn1").click(function(){
$("div div:contains(itcast)").addClass("cBlack");
});
$("#btn2").click(function(){
$("div:empty").addClass("cBlack");
});
$("#btn3").click(function(){
$("div:has(span)").addClass("cBlack");
});
$("#btn4").click(function(){
$("div:parent").addClass("cBlack");
});
$("#btn5").click(function(){
alert($("input:hidden").val());
});
$("#btn6").click(function(){
$("input:visible").addClass("cBlack");
});
});
</script>
</head>
<body>
<div id="div1" class="divCls">id 为div1 的div<br><br>
<div class="subDivCls">class为subDivCls的div</div>
</div>
<div id="div2" class="divCls">id 为div2 的div
<br><br>
<span id="span1">div2里面的span,id为span1</span>
<br><br>
<div class="subDivCls" style="float:left;">class为subDivCls的div</div>
<div class="subDivCls">subDivCls<br>
<span id="span2">span2</span>
</div>
</div>
<div id="div3" class="divCls" title="itcast">
id 为div3 的div,title为itcast,包含隐藏输入框,输入框的值为hello
<input type="hidden" value="hello">
</div>
<span class="spanCls">div3的兄弟元素span</span>
<div id="div4" class="divCls" >id 为div4 的div<br>
<div class="subDivCls" style="float:left;">subDivCls<br>
<span id="span2">span4</span></div>
<div class="subDivCls" title="itcast">title为itcast</div>
<div class="subDivCls" style="float:left;">class为subDivCls的div</div>
<div class="subDivCls"></div>
</div>
<p style="clear:both;"></p>
<br>
<hr>
<input type="button" id="btn1" value=":contains()选取元素内容包含itcast的div元素">
<input type="button" id="btn2" value=":empty选取不包含子元素或文本的div元素">
<input type="button" id="btn3" value=":has()选取含有span元素的div元素">
<input type="button" id="btn4" value=":parent选取含有子元素或文本的div元素">
<input type="button" id="btn5" value=":hidden弹出隐藏input元素的值">
<input type="button" id="btn6" value=":visible选取所有的可见input元素">
</body>
</html>
⑥、对标签的属性过滤选择器
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>属性过滤选择器</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="js/jquery-1.11.3.js"></script>
<style type="text/css">
body{
font-family: "Microsoft YaHei"
}
.divCls {
width:180px;
height:180px;
color: white;
border: solid 1px white;
margin-left: 10px;
float: left;
background-color: #792F7C;
}
.subDivCls {
width:60px;
height:60px;
color:white;
border: solid 1px white;
font-size: 12px;
margin: 5px;
float: right;
background-color: #01A6A2;
}
.spanCls{
color:white;
border: solid 1px white;
margin: 5px;
float: left;
height: 50px;
background-color: #ED4A9F;
}
div span{
border: solid 1px white;
font-size: 12px;
margin:5;
background-color: #ED4A9F;
}
.cGreen{background-color: #4CA902}
.cPink{background-color: #ED4A9F}
.cBlue{background-color: #0092E7}
.cCyan{background-color: #01A6A2}
.cYellow{background-color: #DCA112}
.cRed{background-color: #B7103B}
.cPurple{background-color: #792F7C}
.cBlack{background-color: #110F10}
.cOrange{background-color: #FF4500}
.cGray{background-color: #A9A9A9}
.hide{display: none;}
</style>
<script type="text/javascript">
$(document).ready(function(){
$("#btn1").click(function(){
$("div[id]").addClass("cBlack");
});
$("#btn2").click(function(){
$("div[title='itcast']").addClass("cBlack");
});
$("#btn3").click(function(){
$("div[title!='itcast']").addClass("cBlack");
});
$("#btn4").click(function(){
$("div[title^='it']").addClass("cBlack");
});
$("#btn5").click(function(){
$("div[title$='cast']").addClass("cBlack");
});
$("#btn6").click(function(){
$("div[title*='s']").addClass("cBlack");
});
$("#btn7").click(function(){
$("div[id][title*='s']").addClass("cBlack");
});
});
</script>
</head>
<body>
<div id="div1" class="divCls" title="test">id 为div1 的div,title为test<br><br>
<div class="subDivCls">class为subDivCls的div</div>
</div>
<div id="div2" class="divCls">id 为div2 的div
<br><br>
<span id="span1">div2里面的span,id为span1</span>
<br><br>
<div class="subDivCls" style="float:left;">class为subDivCls的div</div>
<div class="subDivCls">subDivCls
<span id="span2">span2</span>
</div>
</div>
<div id="div3" class="divCls" title="itcast">
id 为div3 的div,title为itcast,包含隐藏输入框
<input type="hidden" value="hello">
</div>
<span class="spanCls">div3的兄弟元素span</span>
<div id="div4" class="divCls">id 为div4 的div<br>
<div class="subDivCls" style="float:left;">subDivCls<br>
<span id="span2">span4</span></div>
<div class="subDivCls" title="itcast">title为itcast</div>
<div class="subDivCls" style="float:left;" title="test">title为test</div>
<div class="subDivCls"></div>
</div>
<p style="clear:both;"></p>
<br>
<hr>
<input type="button" id="btn1" value="选取所有含有id属性的div元素">
<input type="button" id="btn2" value="选取title属性值等于itcast的div元素">
<input type="button" id="btn3" value="选取不含有title属性或title属性值不等于itcast的div元素">
<input type="button" id="btn4" value="选取title属性值是以it开头的div元素">
<input type="button" id="btn5" value="选取title属性值是以cast结尾的div元素">
<input type="button" id="btn6" value="选取title属性值包含有s的div元素">
<input type="button" id="btn7" value="选取含有id属性并且title属性值包含有s的div元素">
</body>
</html>
对于jQuery来说,其轻量级,强大的选择器还有dom操作的封装对事件的处理机制,是很值得我们去学习jQuery的一大亮点