分享一些小习题
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>隔行换色</title>
</head>
<body>
<table id="table" align="center" border="1px" width="70%" style="border-collapse: collapse;">
<tr>
<th>分类ID</th>
<th>分类名称</th>
<th>分类描述</th>
<th>操作</th>
</tr>
<tr>
<td>1</td>
<td>手机数码</td>
<td>手机数码类商品</td>
<td>
<a href="#">修改</a>
<a href="#">删除</a>
</td>
</tr>
<tr>
<td>2</td>
<td>鞋靴箱包</td>
<td>鞋靴箱包类商品</td>
<td>
<a href="#">修改</a>
<a href="#">删除</a>
</td>
</tr>
<tr>
<td>3</td>
<td>电脑办公</td>
<td>电脑办公类商品</td>
<td>
<a href="#">修改</a>
<a href="#">删除</a>
</td>
</tr>
<tr>
<td>4</td>
<td>家居饰品</td>
<td>家居饰品类商品</td>
<td>
<a href="#">修改</a>
<a href="#">删除</a>
</td>
</tr>
</table>
</body>
<script type="text/javascript" src="js/jquery-3.4.1.js"></script>
<script type="text/javascript">
//隔行换色
//选择下标大于指定值的tr元素,在选择所有的奇数下标的元素
$("tr:gt(0):odd").css("background","pink");
$("tr:gt(0):even").css("background","skyblue");
</script>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>全选,全不选</title>
</head>
<body>
<table class="tb" align="center" border="1px" width="50%" style="border-collapse: collapse;">
<tr>
<th>
<input type="checkbox" id="all" >
<button id="checkNot">反选</button>
</th>
<th>分类ID</th>
<th>分类名称</th>
<th>分类描述</th>
<th>操作</th>
</tr>
<tr>
<td><input type="checkbox" name="ck" /></td>
<td>1</td>
<td>手机数码</td>
<td>手机数码类商品</td>
<td>
<a href="#">修改</a>
<a href="#">删除</a>
</td>
</tr>
<tr>
<td><input type="checkbox" name="ck"/></td>
<td>2</td>
<td>电脑办公</td>
<td>电脑办公类商品</td>
<td>
<a href="#">修改</a>
<a href="#">删除</a>
</td>
</tr>
<tr>
<td><input type="checkbox" name="ck"/></td>
<td>3</td>
<td>鞋靴箱包</td>
<td>鞋靴箱包类商品</td>
<td>
<a href="#">修改</a>
<a href="#">删除</a>
</td>
</tr>
<tr>
<td><input type="checkbox" name="ck"/></td>
<td>4</td>
<td>家居饰品</td>
<td>家居饰品类商品</td>
<td>
<a href="#">修改</a>
<a href="#">删除</a>
</td>
</tr>
</table>
</body>
<script type="text/javascript" src="js/jquery-3.4.1.js"></script>
<script type="text/javascript">
//全选&全不选
//通过最上面的复选框来决定下方的复选框是否选中,把上面的复选框绑定点击事件,点击时判断当前复选框状态,选中则下方全选中,否则选取消
//通过id选择器给复选框绑定点击事件
$("#all").click(function(){
//获取除了第一个复选框外的所有复选框元素
var cks=$(":checkbox[name='ck']");
//当前选中则去选中
//得到最上面的复选框的选中状态
var cked =$("#all").prop("checked");
//设置下方复选框的选中状态
cks.prop("checked",cked);
});
//反选
//给反选按钮绑定点击事件
$("#checkNot").click(function(){
//得到下方所有的复选框
var cks=$(":checkbox[name='ck']");
//遍历复选框
cks.each(function() {
//得到遍历的复选框的状态
var flag = $(this).prop("checked");
//取反
$(this).prop("checked", !flag)
});
});
</script>
</html>
JQuery的制作方式
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
籍贯:
<select id="pro">
<option value="">请选择</option>
</select>
<select id="city">
<option value="">请选择</option>
</select>
</body>
<script type="text/javascript" src="js/jquery-3.4.1.js"></script>
<script type="text/javascript">
//准备初始数据
//定义省市的数据
var proList = ["北京","山西","山东","河北","河南"];
//定义城市的数据
var cityList = [
["东城区","西城区","朝阳区","丰台区","海淀区","昌平区"],
["太原市","大同市","运城市","临汾市","忻州市","晋中市"],
["济南市","青岛市","威海市","烟台市","临沂市","德州市"],
["石家庄市","邢台市","保定市"],
["郑州市","焦作市","三门峡市"],
];
//给省市下拉框填充数据
//遍历省份数组
for(var i=0;i<=proList.length-1;i++){
//得到了每个省份的值
var proDate=proList[i];
//创建对应的option对象
var opt ="<option value='"+proDate+"'>"+proDate+"</option>";
//将option选项添加到省份下拉框中
$("#pro").append(opt);
}
//给省份下拉框绑定change事件
$("#pro").change(function(){
//得到当前选中项的索引
var index=this.selectedIndex;
//通过索引获取二维数组中对应的城市数据
var citys=cityList[index-1];//index-1:因为省份下拉框第一个是"请选择"
//清空城市下拉框的选项
$("#city option:gt(0)").remove();//除了城市下拉框中的第一个选项之外,其它全部移除
//遍历城市数组
for(var i=0;i<citys.length;i++){
$("#city").append("<option>"+citys[i]+"</option>")
}
})
</script>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<table align="center">
<tr>
<td>
<select id="left" multiple="true" style="width:150px" size="10">
<option>a</option>
<option>b</option>
<option>c</option>
<option>d</option>
<option>e</option>
<option>f</option>
<option>g</option>
<option>h</option>
<option>i</option>
<option>j</option>
</select>
</td>
<td>
<input type="button" value=">" id="toRight1"><br>
<input type="button" value=">>" id="toRight2"><br>
<input type="button" value=">>>" id="toRight3"><br><br>
<input type="button" value="<" id="toLeft1"><br>
<input type="button" value="<<" id="toLeft2"><br>
<input type="button" value="<<<" id="toLeft3">
</td>
<td>
<select id="right" multiple="true" style="width:150px" size="10">
</select>
</td>
</tr>
</table>
</body>
<script type="text/javascript" src="js/jquery-3.4.1.js"></script>
<script type="text/javascript">
//将左侧选中的第一个选项移到右边
$("#toRight1").click(function(){
//通过后代选择器得到左侧下拉框的所有option子元素,得到选中的选选项,并得到第一个被选中的选项;将获取的元素追加到右侧的下拉框中
//#left: 通过ID选择器得到指定对象
//#left option: 通过后代选择器,选定指定元素的指定后代
//:selected:得到下拉框所有被选中的内容
//eq(0):匹配当前元素的指定下标的元素
//appendTo:在指定元素的内部的最后追加子元素:如果追加的元素本身是存在的,则会直接剪切.
$("#left option:selected:eq(0)").appendTo($("#right"));
});
//将左侧选中的全部移到右边
$("#toRight2").click(function(){
//通过后代选择器得到左侧下拉框的所有option子元素,得到选中的选选项,;将获取的元素追加到右侧的下拉框中
//#left : 通过ID选择器得到指定对象
//#left option: 通过后代选择器,选定指定元素的指定后代
//:selected:得到下拉框所有被选中的内容
//appendTo:在指定元素的内部的最后追加子元素:如果追加的元素本身是存在的,则会直接剪切.
$("#left option:selected").appendTo($("#right"))
});
/* 将左侧所有下拉选项移动到右边 */
$("#toRight3").click(function(){
//通过后代选择器得到左侧下拉框的所有option子元素,将所有的元素追加到右侧的下拉框中
//#left: 通过ID选择器得到指定对象
//#left option: 通过后代选择器,选定指定元素的指定后代
//appendTo:在指定元素的内部的最后追加子元素:如果追加的元素本身是存在的,则会直接剪切.
$("#left option").appendTo($("#right"))
});
//将右侧选中的第一个移到左边来
$("#toLeft1").click(function(){
//#right 通过ID选择器得到对象
//#right option 通过后代选择器,选定指定元素的指定后代
//:selected 得到被选中的元素
//eq(0) 匹配当前元素的第一个下标元素
// appendTo 在指定元素的内部的最后追加子元素:如果追加的元素本身是存在的,则会直接剪切.
$("#right option:selected:eq(0)").appendTo($("#left"));
});
//将右侧选中的全部移到左边
$("#toLeft2").click(function(){
//通过ID选择器得到对象
$("#right option:selected").appendTo($("#left"));
});
//将右侧所有的元素全部移到左边来
$("#toLeft3").click(function(){
//通过ID选择器得到对象
$("#right option").appendTo($("#left"));
})
</script>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<table id="rating" align="center">
<tr>
<td id="0">☆</td>
<td id="1">☆</td>
<td id="2">☆</td>
<td id="3">☆</td>
<td id="4">☆</td>
</tr>
</table>
</body>
<script type="text/javascript" src="js/jquery-3.4.1.js"></script>
<script type="text/javascript">
//得到所有的td对象
var tds = $("#rating td")
console.log(tds);
//遍历td对象,给每个td对象绑定鼠标悬停事件
tds.each(function () {
//设置鼠标样式
$(this).css("cursor", "pointer");
//给td绑定鼠标悬停事件
$(this).mouseover(function () {
//得到当前鼠标悬停的td对象的id属性值
var index = $(this).attr("id");
//将鼠标悬停位置的td及其前面的td都变黑
for (var i = 0; i <= index; i++) {
$(tds[i]).html("★");
}
;
// 将鼠标悬停位置的td其后面的td中星星变白
for (var i = tds.length; i > index; i--) {
$(tds[i]).html("☆");
}
});
});
</script>
</html>