jQuery(一)

jQuery(一)

1.jQuery下载使用

官网地址 https://jquery.com/.
在这里插入图片描述
在这里插入图片描述

复制粘贴

在这里插入图片描述
在这里插入图片描述

引入js文件写一个小案例吧

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, user-scalable=no,
		initial-sale=1.0, maximum-scale=1.0, minimum-scale=1.0"/>
		<title></title>
		<script src="jquery.min.js"></script>
		<style>
			div{
				width: 200px;
				height: 200px;
				background-color: pink;
			}
		</style>
	</head>
	<body>
		<div></div>
		<script>
			$('div').hide();
		</script>
	</body>
</html>

在这里插入图片描述

把js代码移动到div上方发现不会隐藏,所以jQuery的入口函数是什么呢

2.jQuery入口函数

$ (function (){
	... // 此处是页面 DOM 加载完成的入口
});
$ (document).ready(function(){
	... // 此处是页面 DOM 加载完成的入口
});

推荐第一种写法

3.jQuery顶级对象 $

1. $ 是 jQuery 的别称,在代码中可以使用 jQuery 代替 $,但一般为了方便,通常都直接使用 $

2. $ 是 jQuery 的顶级对象,相当于原生 JavaScript 的 window 。把元素利用 $ 包装成 jQuery 对象,就可以调用 jQuery 的方法。

4.jQuery对象和DOM对象

1. DOM 对象:用原生js获取过来的对象就是 DOM 对象

2. jQuery 对象:用jQuery方式获取过来的对象是 jQuery 对象。通过 $ 把 DOM 元素进行了包装,以伪数组的方式进行存储

3. jQuery 对象只能使用 jQuery 方法, DOM 对象则使用原生的 JavaScript 属性和方法

DOM 对象与 jQuery 对象之间是可以相互转换的

因为原生 js 比 jQuery 更大,原生的一些属性和方法 jQuery 没有封装,要想使用这些属性和方法需要 jQuery 对象转换为 DOM 对象才能使用。

1. DOM 对象转换为 jQuery 对象
$('div')
2. jQuery 对象转换为 DOM 对象(两种方式)
$('div')[index] index是索引号
$('div').get(index) index是索引号

5.jQuery常用的API

(1)jQuery 基础选择器

名称用法描述
ID选择器$("#id")获取指定ID的元素
全选择器$(’*’)匹配所有元素
类选择器$(".class")获取同一类class的元素
标签选择器$(“div”)获取同一类标签的所有元素
并集选择器$(“div,p,li”)选择多个元素
交集选择器$(“li.current”)交集元素

(2)jQuery 层级选择器

名称用法描述
子代选择器$(“ul>li”)获取亲儿子层级元素
后代选择器$(“ul li”)获取ul下的所有元素

(3)隐式迭代

jQuery设置样式

$('div').css('属性','值')

遍历内部 DOM 元素(伪数组形式存储)的过程叫做隐式迭代

(4)jQuery 筛选选择器

语法用法描述
:first$(“li:first”)获取第一个li元素
:last$(“li:last”)获取最后一个元素
:eq(index)$(“li:eq(2)”)获取到的li元素中,选择索引号为2元素,索引号index从0开始
:odd$(“li:odd”)获取到的li元素中,选择索引号为奇数的元素
:even$(“li:even”)获取到的li元素中,选择索引号为偶数的元素

(5)jQuery 筛选方法

语法用法描述
:first$(“li:first”)获取第一个li元素
:last$(“li:last”)获取最后一个元素
:eq(index)$(“li:eq(2)”)获取到的li元素中,选择索引号为2元素,索引号index从0开始
:odd$(“li:odd”)获取到的li元素中,选择索引号为奇数的元素
parent()$(“li”).parent();查找父级
children(selector)$(“ul”).children(“li”)相当于$(“ul>li”),最近一级(亲儿子)
find(selector)$(“ul”).find(“li”)相当于$(“ul li”),后代选择器
siblings(selector)$(".first").siblings(“li”)查找兄弟节点,不包括自己本身
nextAll([expr])$(".first").nextAll()查找当前元素之后所有的同辈元素
prevAll([expr])$(".last").prevAll()查找当前元素之前所有的同辈元素
hasClass(class)$(‘div’).hasClass(“protected”)检查当前的元素是否含有某个特定的类,如果有,则返回true
eq(index)$(“li”).eq(2)相当于$(“li : eq(2)”) , index 从0开始

案例:新浪下拉菜单

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, user-scalable=no,
		initial-sale=1.0, maximum-scale=1.0, minimum-scale=1.0"/>
		<title></title>
		<style>
			* {
				margin: 0;
				padding: 0;
			}
			
			li {
				list-style-type: none;
			}
			
			a {
				text-decoration: none;
				font-size: 14px;
			}
			
			.nav {
				margin: 100px;
			}
			
			.nav>li {
				position: relative;
				float: left;
				width: 80px;
				height: 41px;
				text-align: center;
			}
			
			.nav li a {
				display: block;
				width: 100%;
				height: 100%;
				line-height: 41px;
				color: #333;
			}
			
			.nav>li>a:hover {
				background-color: #eee;
			}
			
			.nav ul {
				display: none;
				position: absolute;
				top: 41px;
				left: 0;
				width: 100%;
				border-left: 1px solid #FECC5B;
				border-right: 1px solid #FECC5B;
			}
			
			.nav ul li {
				border-bottom: 1px solid #FECC5B;
			}
			
			.nav ul li a:hover {
				background-color: #FFF5DA;
			}
		</style>
		<script src="jquery.min.js"></script>
	</head>
	<body>
		<ul class="nav">
			<li>
				<a href="#">微博</a>
				<ul>
					<li>
						<a href="">私信</a>
					</li>
					<li>
						<a href="">评论</a>
					</li>
					<li>
						<a href="">@我</a>
					</li>
				</ul>
			</li>
			<li>
				<a href="#">微博</a>
				<ul>
					<li>
						<a href="">私信</a>
					</li>
					<li>
						<a href="">评论</a>
					</li>
					<li>
						<a href="">@我</a>
					</li>
				</ul>
			</li>
			<li>
				<a href="#">微博</a>
				<ul>
					<li>
						<a href="">私信</a>
					</li>
					<li>
						<a href="">评论</a>
					</li>
					<li>
						<a href="">@我</a>
					</li>
				</ul>
			</li>
			<li>
				<a href="#">微博</a>
				<ul>
					<li>
						<a href="">私信</a>
					</li>
					<li>
						<a href="">评论</a>
					</li>
					<li>
						<a href="">@我</a>
					</li>
				</ul>
			</li>
		</ul>
		<script>
			$(function(){
				//鼠标经过
				$(".nav>li").mouseover(function(){
					// this 当前元素 show显示 hide隐藏
					$(this).children("ul").show();
				});
				//鼠标离开
				$(".nav>li").mouseout(function(){
					$(this).children("ul").hide();
				})
			})
		</script>
	</body>
</html>

在这里插入图片描述

(6)jQuery的排他思想

当前元素设置样式,其他兄弟元素清除样式

案例:
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, user-scalable=no,
		initial-sale=1.0, maximum-scale=1.0, minimum-scale=1.0"/>
		<title></title>
		<script src="jquery.min.js"></script>
	</head>
	<body>
		<button>1</button>
		<button>2</button>
		<button>3</button>
		<button>4</button>
		<button>5</button>
	</body>
	<script>
		$(function(){
			$("button").click(function(){
				// 当前元素变化背景颜色
				$(this).css("background","pink");
				// 其他兄弟取消背景颜色
				$(this).siblings("button").css("background","");
			})
		})
	</script>
</html>

在这里插入图片描述
案例:淘宝服饰精选
在这里插入图片描述

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, user-scalable=no,
		initial-sale=1.0, maximum-scale=1.0, minimum-scale=1.0"/>
		<title></title>
		<style>
			* {
				margin: 0;
				padding: 0;
				font-size: 12px;
			}
			
			ul {
				list-style: none;
			}
			
			a {
				text-decoration: none;
			}
			
			.wrapper {
				width: 250px;
				height: 248px;
				margin: 100px auto 0;
				border: 1px solid pink;
				border-right: 0;
				overflow: hidden;
			}
			
			#left,
			#content {
				float: left;
			}
			
			#left li {
				background: url(images/lili.jpg) repeat-x;
			}
			
			#left li a {
				display: block;
				width: 48px;
				height: 27px;
				border-bottom: 1px solid pink;
				line-height: 27px;
				text-align: center;
				color: black;
			}
			
			#left li a:hover {
				background-image: url(images/abg.gif);
			}
			
			#content {
				border-left: 1px solid pink;
				border-right: 1px solid pink;
			}
		</style>
		<script src="jquery.min.js"></script>
		<script>
			$(function(){
				//经过li
				$("#left li").mouseover(function(){
					//获得索引号
					var index = $(this).index();
					// 右侧盒子对应索引号显示图片
					$("#content div").eq(index).show();
					//隐藏其他图片
					$("#content div").eq(index).siblings().hide();
				})
			})
		</script>
	</head>
	<body>
	    <div class="wrapper">
	        <ul id="left">
	            <li><a href="#">女靴</a></li>
	            <li><a href="#">雪地靴</a></li>
	            <li><a href="#">冬裙</a></li>
	            <li><a href="#">呢大衣</a></li>
	            <li><a href="#">毛衣</a></li>
	            <li><a href="#">棉服</a></li>
	            <li><a href="#">女裤</a></li>
	            <li><a href="#">羽绒服</a></li>
	            <li><a href="#">牛仔裤</a></li>
	        </ul>
	        <div id="content">
	            <div>
	                <a href="#"><img src="images/女靴.jpg" width="200" height="250" /></a>
	            </div>
	            <div>
	                <a href="#"><img src="images/雪地靴.jpg" width="200" height="250" /></a>
	            </div>
	            <div>
	                <a href="#"><img src="images/冬裙.jpg" width="200" height="250" /></a>
	            </div>
	            <div>
	                <a href="#"><img src="images/呢大衣.jpg" width="200" height="250" /></a>
	            </div>
	            <div>
	                <a href="#"><img src="images/毛衣.jpg" width="200" height="250" /></a>
	            </div>
	            <div>
	                <a href="#"><img src="images/棉服.jpg" width="200" height="250" /></a>
	            </div>
	            <div>
	                <a href="#"><img src="images/女裤.jpg" width="200" height="250" /></a>
	            </div>
	            <div>
	                <a href="#"><img src="images/羽绒服.jpg" width="200" height="250" /></a>
	            </div>
	            <div>
	                <a href="#"><img src="images/牛仔裤.jpg" width="200" height="250" /></a>
	            </div>
	        </div>
	    </div>
	</body>
</html>

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值