• JavaScript进阶和JQuery入门


    JavaScript进阶和JQuery入门

    一、BOM模型

    BOM(Brower Object Model)浏览器对象模型。在HTML页面加载时,浏览器在内存中生成一个全局对象window,通过这个window来访问浏览器相关的信息。把这个对象成为浏览器对象模型。

    BOM的组成:

    BOM的window对象包含6大核心,分别是:

    • document:对象,即文档对象
    • frames :HTML自带框架
    • history:历史访问记录(页面)
    • location:当前访问的页面
    • navigator:包含浏览器的相关信息
    • screen:用户显示屏幕相关信息

    BOM的顶级对象就是window,由于所有浏览器都支持window对象,所以在调用函数的时候,window可以省略。

    用户自定义的全局变量和全局函数都是window的成员。

    二、window之定时器

    1、什么是定时器

    所谓定时器,就是在指定的事件,执行我们指定好的一件事。

    生活中的定时器:闹钟、定时炸弹、上课铃声等。。

    程序中的定时器:轮播图、定时弹出广告等。

    2、JS中的定时器

    JS中的定时函有两种:

    2.1、周期定时器

    按照指定的周期来调用函数或者代码串,执行多次

    语法:

    var timeid = window.setInteval(code,ms);
    

    参数解析:

    code:每隔一段事件执行的具体js代码或者函数

    ms:间隔时间,单位是毫秒,1秒 = 1000毫秒

    案例:每隔一秒打印一条语句

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8">
    		<title>周期定时器</title>
    	</head>
    	<body>
    	</body>
    	<script type="text/javascript">
    		//每隔一秒打印一条语句
    		var timeid = window.setInterval(function(){
    			console.log("123");
    		},1000);
    	</script>
    </html>
    
    

    案例:轮播图

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8">
    		<title>轮播图</title>
    	</head>
    	<body>
    		<img src="img/1.png" id="img" >
    	</body>
    	<script type="text/javascript">
    		//定义索引
    		var index = 1;
    		//创建定时器
    		var timeid = window.setInterval(function(){
    			//获取img标签
    			var img = document.getElementById('img');
    			//给img设置新的图片
    			img.src = 'img/' + (++index) + '.png';
    			if(index == 5){
    				index = 0;
    			}
    		},1000);
    	</script>
    </html>
    
    

    2.2、延时定时器

    在指定的毫秒后调用函数或者代码串,只执行一次

    语法:

    var timeid = window.setTimeout(code,ms);
    

    参数说明:

    code:延迟执行的代码或者函数

    ms:延迟时间,单位毫秒

    案例:打开页面五秒后,打印一条输出语句

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8">
    		<title>延时定时器</title>
    	</head>
    	<body>
    		
    	</body>
    	<script type="text/javascript">
    		//创建延时定时器
    		var timeid = window.setTimeout(function(){
    			console.log('耗子尾汁');
    		},5000);
    	</script>
    </html>
    
    

    案例:页面打开三秒后,隐藏图片

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8">
    		<title></title>
    	</head>
    	<body>
    		<img src="img/1.png" id="img">
    	</body>
    	<script type="text/javascript">
    		//创建定时器
    		var timeid = setTimeout(function(){
    			//获取图片元素
    			var img = document.getElementById('img');
    			//隐藏元素
    			img.style.display = 'none';
    		},3000);
    	</script>
    </html>
    
    

    2.3、清除定时器

    可以阻止定时器的执行

    语法:

    windos.clearInterval(timeid);
    window.clearTimeout(timeid);
    

    参数说明:

    timeid:具体的定时器id

    案例:停止倒计时

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8">
    		<title>清空定时器案例-倒计时停止</title>
    	</head>
    	<body>
    		<button type="button" onclick="startInterval()">开始倒计时</button>
    		<button type="button" onclick="stopInterval()">停止倒计时</button>
    	</body>
    	<script type="text/javascript">
    		
    		var timeid = null;
    		
    		//开启定时器
    		function startInterval(){
    			//防止多次点击
    			if(timeid != null){
    				window.clearInterval(timeid);
    			}
    			//创建倒计时变量
    			var count = 100;
    			//开启定时器
    			timeid = window.setInterval(function(){
    				//如果不为0
    				if(--count > 0){
    					console.log(count);
    				}
    			},1000);
    		}
    		
    		//清空定时器
    		function stopInterval(){
    			window.clearInterval(timeid);
    		}
    	</script>
    </html>
    
    

    三、window弹框

    1、消息框

    windows.alert('内容');
    

    案例:

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8">
    		<title>消息框</title>
    	</head>
    	<body>
    		<input type="button" value="alert" onclick="alertBox()">
    	</body>
    	<script type="text/javascript">
    		
    		//1、消息框
    		function alertBox(){
    			window.alert("您的余额已不足,请及时充值");
    		}
    	</script>
    </html>
    
    

    效果:

    2、确认框

    window.confirm("提示内容");
    

    案例:

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8">
    		<title>消息框</title>
    	</head>
    	<body>
    		<input type="button" value="confirm" onclick="confirmBox()">
    	</body>
    	<script type="text/javascript">
    		
    		//2、确认框
    		function confirmBox(){
    			if(window.confirm("您确定要关闭吗?")){
    				alert('已关闭');
    			}else{
    				alert('你点了取消');
    			}
    		}
    	</script>
    </html>
    
    

    3、接收框

    window.prompt('默认内容',"默认值");
    

    案例:

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8">
    		<title>消息框</title>
    	</head>
    	<body>
    		<input type="button" value="prompt" onclick="promptBox()">
    	</body>
    	<script type="text/javascript">
    		
    		//3、输入框
    		function promptBox(){
    			var inputVal = window.prompt("请输入你的姓名:","");
    			window.alert("你输入的是:" + inputVal);
    		}
    	</script>
    </html>
    
    

    四、其他window对象

    1、location

    location:当前页的url地址,可通过设置一个新路径跳转到指定页面。

    案例:跳转到百度页面

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8">
    		<title>location属性</title>
    	</head>
    	<body>
    		<input id="btn" type="button" value="跳转页面">
    	</body>
    	<script type="text/javascript">
    		
    		//打印location的属性
    		console.log(location.href);
    		console.log(location.hostname);
    		console.log(location.protocol);
    		console.log(location.pathname);
    		console.log(location.port);
    		
    		//跳转页面的单击事件
    		document.getElementById("btn").onclick = function(){
    			location.href = "https://www.baidu.com";
    		}
    	</script>
    </html>
    
    

    属性介绍:

    href:设置或获取当前链接

    hostname:当前链接的主机号

    protocol:当前链接的协议

    pathname:当前链接的地址

    port:当前链接的端口号

    2、history

    history:浏览器的访问记录。

    windows.history
    

    案例代码:

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8">
    		<title>history属性</title>
    	</head>
    	<body>
    		<a href="https://www.baidu.com">baidu</a>
    		<button type="button" onclick="back()">上一页</button>
    		<button type="button" onclick="forward()">下一页</button>
    	</body>
    	<script type="text/javascript">
    		
    		//返回上一个页面
    		function back(){
    			//back:后退,相等于浏览器的后退箭头
    			history.back();
    		}
    		
    		//继续下一个页面
    		function forward(){
    			//forward:前进,相当于浏览器的前进箭头
    			history.forward();
    		}
    		
    	</script>
    </html>
    
    

    方法介绍:

    history.back():回到上一个页面

    history.forward():下一个页面

    3、screen

    用于获取和屏幕有关的属性

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8">
    		<title></title>
    	</head>
    	<body>
    	</body>
    	<script type="text/javascript">
    		//打印屏幕属性
    		console.log(window.screen);
    		//打印屏幕的宽度(包含任务栏)
    		console.log(window.screen.width);
    		//打印屏幕的高度(包含任务栏)
    		console.log(window.screen.height);
    		//打印屏幕的宽度(不包含任务栏)
    		console.log(window.screen.availWidth);
    		//打印屏幕的高度(不包含任务栏)
    		console.log(window.screen.availHeight);
    	</script>
    </html>
    

    属性介绍:

    window.screen.width:屏幕的宽度

    window.screen.height:屏幕的高度

    window.screen.avaiWidth:不包含任务栏的宽度

    windows.screen.avaiHeight:不包含任务栏的高度

    4、document

    获取dom元素,获取body的可见区域

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8">
    		<title></title>
    	</head>
    	<body>
    		<p>hello world</p>
    	</body>
    	<script type="text/javascript">
    		
    		//打印body的宽高
    		console.log(document.body.offsetWidth);
    		console.log(document.body.offsetHeight);
    		
    		
    	</script>
    </html>
    
    

    属性介绍:

    document.body.offsetWidth:获取body的宽度

    document.body.offsetHeight:获取body的高度

    5、拓展案例:桌面弹球

    需求如图:

    案例代码:

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="UTF-8">
    		<title>桌面弹球</title>
    		<style type="text/css">
    			* {
    				padding: 0;
    				margin: 0;
    			}
    
    			.ball {
    				 100px;
    				height: 100px;
    				/*修改为圆形*/
    				border-radius: 50%;
    				background-color: red;
    			}
    		</style>
    	</head>
    	<body>
    		<div id="ball" class="ball"></div>
    	</body>
    	<script type="text/javascript">
    		//获取球体元素
    		var ball = document.getElementById("ball");
    
    		//初始增量
    		var incr = 0;
    		//移动方向,默认为左
    		var left = true;
    
    		//将小球移动方法
    		function toRight(incr) {
    			ball.style.marginLeft = incr + 'px';
    		}
    		//启动定时器
    		window.setInterval(function() {
    			if (incr + 100 == document.body.offsetWidth) {
    				left = false;
    			}
    			if (incr == 0) {
    				left = true;
    			}
    			toRight(left ? ++incr : --incr);
    		}, 5);
    	</script>
    </html>
    
    

    五、JQuery基本介绍

    1、jQuery简介

    JQuery是一个快速、简洁的JavaScript框架。JQuery设计的宗旨是“Write Less,Do More”,即提倡用更少的代码,做更多的事。它封装JavaScript常用的功能代码,提供一种简洁的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和AJAX交互。

    2、jQuery的使用步骤

    2.1、下载jQuery库文件

    登录jquery官网,https://jquery.com/download/进入下载页面

    下载后,我们会得到:

    • jquery-3.5.1.min.js:压缩版本
    • jquery-3.5.1.js:未压缩版本

    区别:

    1、压缩版本比为压缩版本的体积更小,去除了注释,并且进行了压缩和混淆。加载速度更快。

    2、未压缩版本的编码更加规范,可以用来学习使用。而压缩版本的阅读性很低。

    2.2、使用jQuery库文件

    jquery库文件就是使用JavaScript编写的代码,可以直接使用外部引入js的方式引入。

    <!-- 引入JQuery库文件 -->
    <script type="text/javascript" src="js/jquery-3.5.1.min.js"></script>
    

    2.3、jQuery的基本语法

    jQuey中需要频繁使用jQuery关键字进行API调用。由于jQuery是严格区分大小写的,所以书写这个单词非常繁琐。jQuery中定义了$符,替代jQuery关键字。

    $()或者jQuery()称之为工厂函数

    $(选择器) 或者 jQuery(选择器) 可以查找页面元素

    2.4、jQuery加载就绪函数

    如果想在页面加载的时候就执行一段代码,可以使用window.onload来指定加载时执行的函数。

    	<script type="text/javascript">
    		
    		//页面加载时执行
    		window.onload = function(){
    			//具体代码
    		}
    	</script>
    

    在jQuery中提供了就绪函数,可以实现上述功能:

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8">
    		<title></title>
    		<!-- 引入JQuery库文件 -->
    		<script type="text/javascript" src="js/jquery-3.5.1.min.js"></script>
    	</head>
    	<body>
    	</body>
    	<script type="text/javascript">
    		
    		//页面加载时执行
    		window.onload = function(){
    			//具体代码
    			alert(0);
    		}
    		
    		//第一种就绪函数写法
    		jQuery(document).ready(function(){
    			//具体代码
    			alert(1);
    		});
    		
    		//第二种就绪函数写法
    		$(document).ready(function(){
    			//具体代码
    			alert(2);
    		})
    		
    		//第三种就绪函数写法
    		$(function(){
    			//具体代码
    			alert(3);
    		})
    	</script>
    </html>
    
    

    二者区别:

    1、window.onload一个页面只能写一个,多个时,只执行最后一个;而jQuery中的加载就绪函数就可以写多个,而且都可以执行。

    注意:使用jQuery时,一定要先导入库文件,再写脚本代码。

    3、DOM对象和jQuery对象

    DOM对象:通过原生js代码获取到的对象就是DOM对象

    jQuery对象:通过工厂函数jQury()或者$()对DOM对象进行包装后得到的对象就是jQuery对象。

    二者可以相互转换但是DOM对象和jQuery对象所拥有的属性和函数不能混合调用。

    转换方式:

    DOM to jQuery:$(dom对象)或者jQuery(dom对象)

    jQuery to DOM:jQury对象[index] 或者 jQuery对象,get(index)

    案例:

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8">
    		<title></title>
    		<script type="text/javascript" src="js/jquery-3.5.1.min.js"></script>
    	</head>
    	<body>
    		<div id="box"></div>
    	</body>
    	<script type="text/javascript">
    		//通过原生js获取DOM对象
    		var box = document.getElementById("box");
    		//将js对象转换为jq对象
    		var $box = $(box);
    		//打印jq对象和js对象
    		console.log(box);
    		console.log($box);
    		
    		
    		//将jQuery对象转换为js对象
    		var jsBox = $box[0];
    		console.log(jsBox);
    		console.log($box.get(0));
    	</script>
    </html>
    

    注意:jQuery对象建议使用(开头,便与区分(不是必须以)开头)

    案例:通过DOM和jQuery对象获取标签中的文本信息和文本框中的值

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8">
    		<title>DOM和jQuery函数调用问题</title>
    		<script type="text/javascript" src="js/jquery-3.5.1.min.js"></script>
    	</head>
    	<body>
    		<p id="content"><span>中公教育</span></p>
    		<input type="text" id="name" value="hello world">
    	</body>
    	<script type="text/javascript">
    		
    		//获取DOM元素
    		var content = document.getElementById("content");
    		//获取DOM元素的内容
    		console.log(content.innerText);
    		console.log(content.innerHTML)
    		
    		//转换为jQuery对象
    		var $content = $(content);
    		console.log($content.text());
    		console.log($content.html());
    		
    		//获取文本框的值
    		var text = document.getElementById("name");
    		console.log(text.value);
    		var $text = $(text);
    		console.log($text.val());
    	</script>
    </html>
    
    

    总结:

    jQuery对象中的text()方法等价于js中的innerText

    jQuery对象中的html()方法等价于js中的innerHTML

    jQuery对象中的val()方法等价于js中的value

    六、jQuery选择器

    选择器作用:精确定位查询页面中的元素。

    选择器分为:

    • 基本选择器
    • 层级选择器
    • 过滤选择器
    • 属性选择器
    • 表单选择器
    • this

    1、基本选择器

    标签 类 id 全局 这类选择器属于基本选择器

    案例:

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8">
    		<title></title>
    		<script type="text/javascript" src="js/jquery-3.5.1.min.js"></script>
    	</head>
    	<body>
    		<p id="title">p1</p>
    		<p class="group1">p2</p>
    		<p class="group1">p3</p>
    	</body>
    	<script type="text/javascript">
    		
    		//标签选择器:HTML页面中所有的标签
    		var el1 = $("p");
    		console.log(el1.length)
    		
    		//类选择器
    		var el2 = $(".group1");
    		console.log(el2.length);
    		
    		//id选择器
    		var el3 = $("#title");
    		console.log(el3.length);
    		
    		//全局选择器
    		var el4 = $("*");
    		console.log(el4.length);
    		console.log(el4);
    	</script>
    </html>
    
    

    总结:

    标签选择器:$("标签名");

    类选择器:$("类名");

    id选择器:$("id");

    全局选择器:$("*");

    2、层级选择器

    层级选择器是根据节点树上的层级关系获取元素。

    2.1、后代选择器

    parent child 使用空格隔开 , 表示parent节点内的所有child节点(子、孙、重孙。。)

    2.2、子选择器

    parent > child 中间使用>隔开,表示parent的直接子节点child(一定要是子节点)

    2.3、同辈相邻选择器

    brother1 + brother2 中间用+间隔,表示相邻的元素获取brother1后面的brother2(兄弟节点,只能读取一个)

    2.4、同辈选择器

    brother1 ~ brother2 中间使用~符号隔开 表示brother1后面所有的brother2(包含后面所有的)

    2.5、案例:

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="UTF-8">
    		<title>层级选择器</title>
    		<script type="text/javascript" src="js/jquery-3.5.1.min.js"></script>
    	</head>
    	<body>
    		<div>
    			<span>span6</span>
    			<p>P1</p>
    			<span>span1</span>
    			<span>span4</span>
    			<p>
    				<span>span2</span>
    				<span>span3</span>
    			</p>
    			<span>span5</span>
    		</div>
    	</body>
    	<script type="text/javascript">
    		//后代选择器
    		var el1 = $("div span");
    		console.log(el1.length);
    		
    		//子选择器
    		var el2 = $("div>span");
    		console.log(el2.length);
    		
    		//同辈相邻元素选择器
    		var el3 = $("p+span");
    		console.log(el3.length);
    		console.log(el3);
    		
    		//同辈元素选择器
    		var el4 = $("p~span");
    		console.log(el4.length);
    	</script>
    </html>
    
    

    3、过滤选择器

    过滤选择器是指一获取到的对象列表中,再进行筛选。语法::xx

    选择器 说明
    :first 筛选列中的第一项
    :last 筛选列中的最后一项
    :odd 奇数元素,按照下标找出奇数元素,下标从0开始
    :even 偶数元素,按照下标找出偶数元素,下标从0开始
    :eq(index) 等于某个索引值的元素,下标从0开始
    :gt(index) 大于index下标的元素,下标从0开始
    :lt(index) 小于index下标的元素,下标从0开始
    not(selector) 除了selector元素以外的所有

    案例代码:

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8">
    		<title>过滤选择器</title>
    		<script src="js/jquery-3.5.1.min.js" type="text/javascript" charset="utf-8"></script>
    	</head>
    	<body>
    		<ul>
    			<li>列表1</li>
    			<li>列表2</li>
    			<li>列表3</li>
    			<li>列表4</li>
    			<li>列表5</li>
    		</ul>
    	</body>
    	<script type="text/javascript">
    		
    		//筛选第一项
    		var first = $("li:first");
    		console.log(first.text());
    		
    		//筛选最后一项
    		var last = $("li:last");
    		console.log(last.text());
    		
    		//获取奇数元素
    		var odd = $("li:odd");
    		console.log(odd.text());
    		
    		//获取偶数元素
    		var even = $("li:even");
    		console.log(even.text());
    		
    		//获取某个下标的元素
    		var eq = $("li:eq(2)");
    		console.log(eq.text());
    		
    		//获取大于某个下标的所有元素
    		var gt = $("li:gt(2)");
    		console.log(gt.text());
    		
    		//获取小于某个下标的所有元素
    		var lt = $("li:lt(2)");
    		console.log(lt.text());
    		
    		//获取除了2以外的所有元素
    		var not = $("li:not(li:eq(2))");
    		console.log(not.text());
    		
    	</script>
    </html>
    

    4、属性选择器

    通过标签的属性或属性值来获取元素。特殊语法:[]

    选择器 说明
    [attribute] 获取包含attribute属性的元素
    [attribute='value'] 获取某个属性等于value时的元素
    [attribute!='value'] 获取不等于value的元素
    [attribute^='value'] 获取属性值以value开头的元素
    [attribute$='value'] 获取属性以value结尾的元素
    [attribute*='value'] 获取属性包含value的元素

    案例代码:

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8">
    		<title></title>
    		<script src="js/jquery-3.5.1.min.js" type="text/javascript" charset="utf-8"></script>
    	</head>
    	<body>
    		<a href="#">链接1</a>
    		<a href="index1.html">链接2</a>
    		<a href="index2.html">链接3</a>
    		<a href="hello.jpg">链接4</a>
    		<a href="obj.html">链接5</a>
    	</body>
    	<script type="text/javascript">
    		
    		//获取页面中拥有href的元素
    		var haveHref = $("[href]");
    		console.log(haveHref.text());
    		
    		//获取href属性等于#的元素
    		var sharp = $("[href = '#']");
    		console.log(sharp.text());
    		
    		//获取href元素不为#的元素
    		var notSharp = $("a[href != '#']");
    		console.log(notSharp.text());
    		
    		//获取href属性以index开头的元素
    		var headEqindex = $("[href ^= 'index']");
    		console.log(headEqindex.text());
    		
    		//获取href属性以html结尾的元素
    		var lastEqHtml = $("[href $= 'html']");
    		console.log(lastEqHtml.text());
    		
    		//获取href中包含o的元素
    		var hasO = $("[href *= 'o']");
    		console.log(hasO.text());
    		
    	</script>
    </html>
    
    

    5、表单选择器

    表单选择器是用于判定表单类型和状态的选择器

    5.1、基本表单选择器

    选择器 说明
    :input 获取所有表单元素(包含select/textarea/input)
    :text 获取所有的文本框
    :password 获取所有的密码框
    :checkbox 获取所有多选框
    :radio 获取所有的单选框
    :image 获取所有图片标签
    :button 获取所有按钮
    :file 获取所有文件上传组件
    :hidden 获取所有hidden元素

    案例代码:

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8">
    		<title>表单选择器</title>
    		<script src="js/jquery-3.5.1.min.js" type="text/javascript" charset="utf-8"></script>
    	</head>
    	<body>
    		<form action="" method="">
    			<input type="text">
    			<input type="password">
    			<input type="radio" value="男">
    			<select name="city">
    				<option value="0">北京</option>
    				<option value="1">上海</option>
    				<option value="2">天津</option>
    			</select>
    			<textarea rows="" cols="">
    				
    			</textarea>
    			<input type="submit">
    		</form>
    	</body>
    	<script type="text/javascript">
    		
    		//获取所有表单元素
    		var arr = $(":input");
    		arr.each(function(index){
    			console.log(arr[index]);
    		});
    		
    		//获取所有单选按钮
    		console.log($(":radio").val());
    	</script>
    </html>
    
    

    作业:自行测试其他类型的表单选择器;

    5.2、表单过滤器

    过滤器 说明
    :enabled 获取所有启用状态的元素
    :disabled 获取所有禁用状态的元素
    :checked 获取所有checked为true的的元素
    :selected 获取所有selected为true的元素

    案例代码:获取所有禁用的标签

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8">
    		<title>获取所有禁用的元素</title>
    		<script src="js/jquery-3.5.1.min.js" type="text/javascript" charset="utf-8"></script>
    	</head>
    	<body>
    		<input type="text">
    		<input type="text" disabled="disabled">
    		<input type="text" disabled="disabled">
    		<input type="" name="" id="" value="" />
    	</body>
    	<script type="text/javascript">
    		
    		//获取所有禁用的表单元素
    		var arr = $(":disabled");
    		arr.each(function(i){
    			console.log(arr[i]);
    		})
    		
    		//获取所有可用的表单元素
    		var brr = $(":enabled");
    		for(var i=0;i<brr.length;i++){
    			console.log(brr[i]);
    		}
    	</script>
    </html>
    
    

    案例:获取所有选中状态的表单元素

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="UTF-8">
    		<title>复选框过滤选择器</title>
    		<script type="text/javascript" src="js/jquery-3.5.1.min.js"></script>
    	</head>
    	<body>
    		<input type="checkbox" checked="checked" value="a"/>
    		<input type="checkbox" checked="checked" value="b"/>
    		<input type="checkbox" />
    		<input type="checkbox" />
    		
    		<select name="city">
    			<option value="0">北京</option>
    			<option value="10" selected="selected">上海</option>
    			<option value="2">天津</option>
    		</select>
    	</body>
    	<script type="text/javascript">
    		//获取所有被选中的复选框
    		/*console.log($(":checked").length);
    		var arr = $(":checked");
    		arr.each(function(i){
    			console.log(arr[i].value);
    		})*/
    		
    		//获取被选择中的下拉列表框
    		console.log($(":selected").val());
    	</script>
    </html>
    

    6、jQuery事件

    jQuery对JS的事件操作进行了简化,下面我们通过一个案例介绍一下jQuery的事件

    案例:

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="UTF-8">
    		<title>JQuery事件</title>
    		<style type="text/css">
    			#box{
    				 200px;
    				height: 200px;
    				background: red;
    			}
    		</style>
    		<script type="text/javascript" src="js/jquery-3.5.1.min.js"></script>
    	</head>
    	<body>
    		<input type="text" id="name" />
    		<input type="button" name="btn" id="btn" value="获取值" />
    		<p>
    			<img src="img/1.png" width="200px" height="200px" />
    		</p>
    		
    		<div id="box"></div>
    	</body>
    	<script type="text/javascript">
    		$("#btn").click(function(){
    			alert($("#name").val());
    		})
    		
    		$("img").mouseover(function(){
    			alert("悬浮事件");
    		}).mouseleave(function(){
    			alert("离开事件");
    		})
    		/*this:代表的是当前对象,也就当前被绑定事件的操作对象*/
    		$("#box").mouseover(function(){
    			//$(this).css("background","blue");
    			this.style.backgroundColor = "green";
    		})
    	</script>
    </html>
    
    
    

    7、this

    this选择器

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="UTF-8">
    		<title>this选择器</title>
    		<script type="text/javascript" src="js/jquery-3.5.1.min.js"></script>
    	</head>
    	<body>
    		<ul>
    			<li>列表1</li>
    			<li>列表2</li>
    			<li>列表3</li>
    			<li>列表4</li>
    		</ul>
    	</body>
    	<script type="text/javascript">
    		$("li").click(function(){
    			alert($(this).text());;
    		})
    	</script>
    </html>
    
  • 相关阅读:
    CTex中fig、table、equation与section的引用\label小注意
    中国科学院深圳先进技术研究院招聘研究助理、软件工程师、客座学生
    FFTW 3.2.2有bug?
    斯坦福大学的Realtime 3D internal marker tracking during arc radiotherapy by the use of combined MV–kV imaging
    转载:内存管理
    中国科学院深圳先进技术研究院招聘:助理研究员、研究助理、软件工程师、客座学生
    又一篇做retargeting的SIGGRAPH论文 scalable and coherent video resizing with perframe optimization
    Google和百度的map思索
    laplacian pyramid
    macroglossa.com有趣的image search engine
  • 原文地址:https://www.cnblogs.com/zhangruifeng/p/14007377.html
Copyright © 2020-2023  润新知