学习周记 Week10

1.学习目标

初步学习JQuery

2.学习内容

2.1 jQuery 选择器

jQuery 选择器对 HTML 元素组或单个元素进行操作。

jQuery 选择器基于元素的 id、类、类型、属性、属性值等"查找"(或选择)HTML 元素。 它基于已经存在的 CSS 选择器。
除此之外,它还有一些自定义的选择器。

*jQuery 中所有选择器都以美元符号开头:$()。

2.1.1 元素选择器

jQuery 元素选择器基于元素名选取元素
在页面中选取所有 < p> 元素:

$("p")

例子:点击按钮后,所有 < p> 元素都隐藏:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>菜鸟教程(runoob.com)</title> 
<script src="https://cdn.staticfile.org/jquery/2.0.0/jquery.min.js">
</script>
<script>
$(document).ready(function(){
  $("button").click(function(){
    $("p").hide();
  });
});
</script>
</head>

<body>
<h2>这是一个标题</h2>
<p>这是一个段落。</p>
<p>这是另一个段落。</p>
<button>点我</button>
</body>
</html>

运行前:
在这里插入图片描述
运行后:
在这里插入图片描述

2.1.2 id 选择器

jQuery #id 选择器通过 HTML 元素的 id 属性选取指定的元素。

页面中元素的 id 应该是唯一的,所以您要在页面中选取唯一的元素需要通过 #id 选择器。

通过 id 选取元素语法如下:

$("#test")

例子:点击按钮后,有 id=“test” 属性的元素将被隐藏
代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>菜鸟教程(runoob.com)</title> 
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js">
</script>
<script>
$(document).ready(function(){
  $("button").click(function(){
    $("#test").hide();
  });
});
</script>
</head>

<body>
<h2>这是一个标题</h2>
<p>这是一个段落</p>
<p id="test">这是另外一个段落</p>
<button>点我</button>
</body>

</html>

运行前:
在这里插入图片描述
运行后:
在这里插入图片描述

2.1.3 class 选择器

jQuery 类选择器可以通过指定的 class 查找元素。

语法如下:

$(".test")

例子:点击按钮后所有带有 class=“test” 属性的元素都隐藏

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>菜鸟教程(runoob.com)</title> 
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js">
</script>
<script>
$(document).ready(function(){
  $("button").click(function(){
    $(".test").hide();
  });
});
</script>
</head>
<body>

<h2 class="test">这是一个标题</h2>
<p class="test">这是一个段落。</p>
<p>这是另外一个段落。</p>
<button>点我</button>
</body>
</html>

运行前:
在这里插入图片描述
运行后:
在这里插入图片描述

3.练习

3.1 鼠标经过变换选项卡

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<style>
    * {
        margin: 0;
        padding: 0;
        list-style: none;
        font-size: 12px;
    }
    .tab {
        width: 298px;
        height: 98px;
        margin: 10px;
        border: 1px solid #eee;
        overflow: hidden;
    }
    .tab-title {
        height: 27px;
        position: relative;
        background: #f7f7f7;
    }
    .tab-title ul {
        position: absolute;
        width: 301px;
        left: -1px;
    }
    .tab-title li {
        float: left;
        width: 58px;
        height: 26px;
        line-height: 26px;
        text-align: center;
        padding: 0 1px;
        border-bottom: 1px solid #eee;
        overflow: hidden;
    }
    .tab li a:link, .tab li a:visited {
        text-decoration: none;
        color: #000;
    }
    .tab li a:hover {
        color: #f90;
        font-weight: 700;
    }
    .tab-title li.select {
        background: #fff;
        border-bottom-color: #fff;
        border-left: 1px solid #eee;
        border-right: 1px solid #eee;
        padding: 0;
    }
    .tab .tab-content .tabct {
        margin: 10px 10px 10px 19px;
    }
    .tab .tab-content .tabct ul li {
        float: left;
        width: 134px;
        height: 25px;
        overflow: hidden;
    }
</style>

<body>
<div class="tab" id="tab">
    <div class="tab-title" id="tab-title">
        <ul>
            <li class="select"><a href="#">css</a></li>
            <li><a href="#">js</a></li>
            <li><a href="#">php</a></li>
            <li><a href="#">jquery</a></li>
        </ul>
    </div>
    <div class="tab-content" id="tab-content">
        <div class="tabct" style="display: block">
            <ul>
                <li><a href="#">1</a></li>
                <li><a href="#">2</a></li>
                <li><a href="#">3</a></li>
                <li><a href="#">4</a></li>
            </ul>
        </div><div class="tabct" style="display: none">
            <ul>
                <li><a href="#">5</a></li>
                <li><a href="#">6</a></li>
                <li><a href="#">7</a></li>
                <li><a href="#">8</a></li>
            </ul>
        </div><div class="tabct" style="display: none">
            <ul>
                <li><a href="#">9</a></li>
                <li><a href="#">10</a></li>
                <li><a href="#">11</a></li>
                <li><a href="#">12</a></li>
            </ul>
        </div><div class="tabct" style="display: none">
            <ul>
                <li><a href="#">13</a></li>
                <li><a href="#">14</a></li>
                <li><a href="#">15</a></li>
                <li><a href="#">16</a></li>
            </ul>
        </div>
    </div>
</div>
<script>
    function $(id) {
        return typeof id == "string" ? document.getElementById(id) : id;
    }
    window.onload = function() {
        var titleName = $("tab-title").getElementsByTagName("li");
        var tabContent = $("tab-content").getElementsByTagName("div");
        if (titleName.length != tabContent.length) {
            return;
        }
        for (var index = 0; index < titleName.length; index++) {
            titleName[index].id = index;
            titleName[index].onmouseover = function () {
                for (var j = 0; j < titleName.length; j++) {
                    titleName[j].className = "";
                    tabContent[j].style.display = "none"
                }
                this.className = "select";
                tabContent[this.id].style.display = "block";
            }
        }
    }
</script>
</body>
</html>

3.2 输入5个数求和

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>菜鸟教程(runoob.com)</title> 
<script type="text/javascript">
			var i=1,j=0,sum=0;
			while(i<=5){	
				j=parseFloat(prompt("请输入第 "+i+" 个数"));
				i++;
				sum += j;
			}
			alert("和:"+sum);
		</script>
</head>
<body>

<h2 class="test">这是一个标题</h2>
<p class="test">这是一个段落。</p>
<p>这是另外一个段落。</p>
<button>点我</button>
</body>
</html>

3.3 列表全选

代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			table{
				border: 1px solid #000;
				width: 400px;
			}
		</style>
		<script type="text/javascript">
			function change(){
				var all = document.getElementById("checkbox_all");
				var cb = document.getElementsByName("personid");
				
				//判断全选按钮是否被选中
				if(all.checked){
					for(var i = 0; i < cb.length; i++){
						cb[i].checked = true;
					}
				}else{
					for(var i = 0; i < cb.length; i++){
						cb[i].checked = false;
					}
				}
			}
			
			//反选
			function reverse(){
				//获取所有的checkbox
				var cb = document.getElementsByName("personid");
				for(var i = 0; i < cb.length; i++){
					if(cb[i].checked){
						cb[i].checked = false;						
					}else{
						cb[i].checked = true;	
					}
				}
				
			}
		</script>
	</head>
	<body>
		
		<table border="1" cellspacing="0" cellpadding="0">
			<tr>
				<th>全选<input type="checkbox" id="checkbox_all" onclick="change()"/></th>
				<th>课程</th>
				<th>课时</th>
				<th>授课人</th>
			</tr>
			<tr>
				<td><input type="checkbox" name="personid" /></td>
				<td>数据库</td>
				<td>51</td>
				<td>张三</td>
			</tr>
			<tr>
				<td><input type="checkbox"  name="personid"/></td>
				<td>概率论</td>
				<td>51</td>
				<td>李四</td>
			</tr>
			<tr>
				<td><input type="checkbox"  name="personid"/></td>
				<td>面向对象</td>
				<td>51</td>
				<td>王五</td>
			</tr>
			<tr>
				<td><input type="checkbox"  name="personid"/></td>
				<td>统计学</td>
				<td>51</td>
				<td>赵六</td>
			</tr>
		</table>
		
		<input type="button"  value="反选" onclick="reverse()"/>
	</body>
</html>

在这里插入图片描述

3.4 列表左右选取

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			.center{
				float:left;
				margin-left: 100px ;
			}
		</style>
	</head>
	<body>
		<div class="center">
			<select id="select1" multiple style="width:100px;height: 200px;" ondblclick="sel()">
				<option value="数据库">数据库</option>
				<option value="面向对象">面向对象</option>
				<option value="统计学">统计学</option>
				<option value="会计学">会计学</option>
				<option value="英语">英语</option>
				
			</select>
			<input type="button" onclick="sel()" value="添加到已完成" />
		</div>
		<div class="center">
			<select id="select2" multiple style="width:100px;height: 200px;"  ondblclick="cancel_sel()">
				
			</select>
			<input type="button" onclick="cancel_sel()" value="恢复到未完成" />
		</div>
	</body>
	<script type="text/javascript">
		function sel(){
			var select1 = document.getElementById("select1");
			var select2 = document.getElementById("select2");
			
			var select1_options = select1.getElementsByTagName("option");
			for(var i = 0; i < select1_options.length; i++){
				var opt = select1_options[i];
				if(opt.selected){
					select2.appendChild(opt);
				}
			}
			
		}
		//取消选中
		function cancel_sel(){
			var select1 = document.getElementById("select1");
			var select2 = document.getElementById("select2");
			
			var select2_options = select2.getElementsByTagName("option");
			for(var i = 0; i < select2_options.length; i++){
				var opt = select2_options[i];
				if(opt.selected){
					select1.appendChild(opt);
				}
			}
			
		}
	</script>
</html>

运行结果 :
在这里插入图片描述

3.5 省市联动

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			select{
				width:100px;
			}
		</style>
		
		
	</head>
	<body>
		省:
		<select id="sheng" onchange="selectShi()">
			<option value="">请选择省份</option>
			<option value="0">河北省</option>
			<option value="1">山东省</option>
			<option value="2">河南省</option>
			<option value="3">山西省</option>	
		</select>
		市:
		<select id="shi">
			<option value="">请选择市</option>
		</select>
	</body>
	<script type="text/javascript">
		var arrs = [];
		arrs[0] = ["秦皇岛","保定","石家庄","唐山"];
		arrs[1] = ["济南","临沂","青岛","威海"];
		arrs[2] = ["洛阳","郑州","开封","周口"];
		arrs[3] = ["太原","大同","运城","忻州"];
		
		function selectShi(){
			var sheng = document.getElementById('sheng').value;
			var shi = document.getElementById("shi");
			
			var shis = arrs[sheng];
			//清空原来的信息
			//获取市的option属性
			var shi_opts = shi.getElementsByTagName("option");
			//遍历删除市中的option
			
			
			for(var i= shi_opts.length - 1; i >= 1; i--){
				var shi_opt = shi_opts[i];
				shi.removeChild(shi_opt);
			}
			
			
			for(var i = 0; i < shis.length; i++){
				var textNode = document.createTextNode(shis[i]);
				var opt = document.createElement("option");
				opt.appendChild(textNode);
				shi.appendChild(opt);
			}
		}
	</script>
</html>

运行结果
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值