目录
一、jQuery介绍
jQuery是一个快速、简洁的
js
框架,并且开源免费。
引入jq
:将
jq
的
js
包放到项目的文件中,并且在需要的地方进行引入
(一)jq的特点
1.简化
dom
操作
2.轻量级
3.跨浏览器
(二)jq的基本语法
$(selector).action()
selector代表获取元素
action代表获取元素之后的操作
$代表jQuery
二、jq选择器
(一)基本选择器
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>jQuery</title>
<!-- 引入jQuery -->
<script type="text/javascript" src="../js/jquery-1.11.3.min.js"></script>
</head>
<body>
<span id="sp1">111</span>
<span id="sp2">333</span>
<p id="p1">222</p>
<p class="p2">444</p>
<p class="p2">555</p>
<img id="img1" src="../img/chensen.jpg" height="100px" width="50px"/>
</body>
</html>
<script>
$("#img1").fadeIn("1000");
// 1.引入jq,验证$是否绝对相等jQuery
console.log($===jQuery);
// ⒉.通过dom和jq的方式获取元素
var sp1 = document.getElementById("sp1");
console.log(sp1);
var p1 = $("#p1");
console.log(p1);
// 3.验证基本选择器,包括*选择器
// id选择器
var sp2 = $("#sp2");
console.log(sp2);
// 标签选择器
var sps = $("span");
console.log(sps);
// 类选择器
var cls = $(".p2");
console.log(cls);
// *选择器
var all = $("*");
console.log(all);
// 群组选择器
var qz = $("#sp1,span");
console.log(qz);
</script>
(二)层级选择器
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>层级选择器</title>
<script type="text/javascript" src="../js/jquery-1.11.3.min.js"></script>
</head>
<body>
<div id="div1">
<span>111</span>
<p>222</p>
<div id="div2">
<span>555</span>
<p>666</p>
</div>
<span>
333
<p>444</p>
</span>
</div>
</body>
</html>
<script>
// 后代选择器
console.log($("div span"));
// 子代选择器
console.log($("div>span"));
// 获取所有跟在指定元素后面的元素的选择器
console.log($("span+p"));
// 获取所有跟在指定元素后面同辈的元素的选择器
console.log($("span ~ p"));
</script>
(三)基本筛选器
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>基本筛选器</title>
<script type="text/javascript" src="../js/jquery-1.11.3.min.js"></script>
<style type="text/css">
table{
text-align: center;
background-color: pink;
}
</style>
</head>
<body>
<table border="1px" width="200px">
<tr>
<th>1-1</th>
<th>1-2</th>
<th>1-3</th>
</tr>
<tr>
<td>2-1</td>
<td>2-2</td>
<td>2-3</td>
</tr>
<tr>
<td>3-1</td>
<td>3-2</td>
<td>3-3</td>
</tr>
<tr>
<td>4-1</td>
<td>4-2</td>
<td>4-3</td>
</tr>
<tr>
<td>5-1</td>
<td>5-2</td>
<td>5-3</td>
</tr>
</table>
</body>
</html>
<script>
// $("table tr:even").css("background-color","red");
// $("table tr:odd").css("background-color","pink");
// $("table tr:first").css({"color":"blue","font-size":"30px"});
// $("table tr:last").css({"text-align": "center","font-size":"20px","color":"white"});
// $("table tr:eq(2)").css({"text-align": "center","font-size":"20px"});
var ths = $("table tr th");
var tds = $("table tr td");
for(i=0;i<ths.length;i++){
$(ths[i]).hover(
function(){
$(this).css("background-color","blue");
},
function(){
$(this).css("background-color","pink");
})
}
for(i=0;i<tds.length;i++){
$(tds[i]).hover(
function(){
$(this).css("background-color","blue");
},
function(){
$(this).css("background-color","pink");
})
}
</script>
(四)属性选择器
(五)表单对象属性
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script type="text/javascript" src="../js/jquery-1.11.3.min.js"></script>
</head>
<body>
<button id="btn1">选择</button>
<input name="hobby" type="checkbox" value="唱歌" checked="checked"/>
<input name="hobby" type="checkbox" value="跳舞"/>
<input name="hobby" type="checkbox" value="rap"/>
<input name="hobby" type="checkbox" value="篮球"/><br />
<select>
<option>陈森</option>
<option>小艾森</option>
<option>森狗</option>
<option>阿森纳</option>
<option>森森</option>
</select>
</body>
</html>
<script>
// 1.实现在控制台打印复选框中选中的个数
$("#btn1").click(function(){
console.log($("input[name='hobby']:checked").length);
})
// 2.实现控制台打印下拉框选中的文本
$("select").click(function(){
console.log($("select option:selected").html());
})
</script>
三、jq常用事件
鼠标事件
|
键盘事件
|
表单事件
|
click
|
keydown
| submit |
dblclick
|
keypress
| change |
mouseenter
|
keydown
| focus |
mouseleave
| keyup | blur |
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script type="text/javascript" src="../js/jquery-1.11.3.min.js"></script>
</head>
<body>
<input type="text" />
<span></span>
<div id="div1" style="width: 100px;height: 100px;background-color: #00FFFF;"></div><br />
<button id="btn1">点击一下</button><br />
<img id="img1" src="../img/chensen.jpg" width="300px" height="500px"/>
</body>
</html>
<script>
// 1.在输入框输入时显示输入中,键盘松开显示输入完成
$("input").keydown(function(){
$("span").html("正在输入中...");
})
$("input").keyup(function(){
$("span").html("输入完成");
})
// ⒉鼠标移入图片变大,鼠标移出图片变小
$("#div1").hover(
function(){
$("#div1").css({"width":"200px","height":"200px"});
},
function(){
$("#div1").css({"width":"100px","height":"100px"});
})
// 3.实现点击按钮图片出现,再次点击图片隐藏
$("#btn1").click(
function(){
$("#img1").toggle("fast");
})
</script>
案例
:实现购物车功能,选择物品后跳转至支付页面并显示所选的物品,购物车页面需包含全选
/
全不选
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>购物车</title>
<script type="text/javascript" src="../js/jquery-1.11.3.min.js"></script>
</head>
<body>
<form action="lianxi07.html" method="get">
全选/全不选<input id="in1" type="checkbox" /><br />
<input name="shop" type="checkbox" value="book" />书
<input name="shop" type="checkbox" value="football" />足球
<input name="shop" type="checkbox" value="pen" />钢笔
<input name="shop" type="checkbox" value="cloth" />衣服
<input name="shop" type="checkbox" value="flower" />花<br />
<input type="submit" value="提交" />
</form>
</body>
</html>
<script>
$("#in1").click(function(){
var all = $("input[name=shop]");
var check = $("#in1")[0];
for(i=0;i<all.length;i++){
all[i].checked=$("#in1")[0].checked;
}
})
</script>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>支付页面</title>
</head>
<body>
<div id="div1"></div>
</body>
</html>
<script type="text/javascript">
var url = decodeURIComponent(window.location.search);
var url1 = url.substr(1).split("&");
var div1 = document.getElementById("div1");
for(i=0;i<url1.length;i++){
// 创建元素节点
var h1 = document.createElement("h1");
// 创建文本节点
var text = document.createTextNode(url1[i].substr(5));
h1.appendChild(text);
div1.appendChild(h1);
}
console.log(url1);
</script>
四、jq操作dom对象
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>dom和jq互转</title>
<script type="text/javascript" src="../js/jquery-1.11.3.min.js"></script>
</head>
<body>
<input id="ip1" type="text" value="陈森"/>
</body>
</html>
<script>
// 通过dom对象获取元素
var ip1 = document.getElementById("ip1");
console.log(ip1.value);
// 将dom转为jq
var $ip1 = $(ip1);
console.log($ip1.val());
// 通过jq获取元素
var $ip2 = $("#ip1");
console.log($ip2.val());
// 将jq转为dom-方式一
var ip3 = $ip2.get(0);
console.log(ip3.value);
// 将jq转为dom-方式二
var ip4 = $ip2[0];
console.log(ip4.value);
</script>