jQuery选择器和筛选方法

news/2024/7/10 23:06:01 标签: css, jquery, html, js, html5

1.1 基础选择器

原生S获取元素方式很多,很杂,而且兼容性情况不一致,因此 jQuery给我们做了封装,使获取元素统一标准

(选择器”)∥里面选择器直接写CSS选择器即可,但是要加引号

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

1.2 层级选择器

名称用法描述
子代选择器s(“ul>li”);使用>号,获取亲儿子层级的元素;注意,并不会获取孙子层级的元素
后代选择器s(“ul li”);使用空格,代表后代选择器,获取u下的所有l元素,包括孙子等

案例:

html"><!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="UTF-8">
		<title>Title</title>
		<script src="js/html" title=jquery>jquery-3.5.1.min.js"></script>
	</head>
	<body>
		<div>我是div</div>
		<div class="nav">我是nav div</div>
		<p>我是p</p>
		<ol>
			<li>我是ol的</li>
			<li>我是ol的</li>
			<li>我是ol的</li>
			<li>我是ol的</li>
		</ol>
		<ul>
			<li>我是ul</li>
			<li>我是ul</li>
			<li>我是ul</li>
			<li>我是ul</li>
		</ul>
		<script>
			$(function () {
				$('.nav')
				$('ul li')
            })
		</script>
	</body>
</html>

1.3 筛选选择器

语法用法描述
:first$(‘li:first’)获取第一个li元素
:last$(‘li:last’)获取最后一个li元素
:eq(index)$(‘li:eq(2)’)获取到的元素中索引号为2的
:odd$(‘li:odd’)获取索引号为奇数的元素
:even$(‘li:even’)获取索引号为偶数的元素
html"><!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="UTF-8">
		<title>Title</title>
		<script src="js/html" title=jquery>jquery-3.5.1.min.js"></script>
	</head>
	<body>
		<ul>
			<li>1</li>
			<li>2</li>
			<li>3</li>
			<li>4</li>
			<li>5</li>
		</ul>
		<ol>
			<li>1+5</li>
			<li>2+5</li>
			<li>3+5</li>
			<li>4+5</li>
			<li>5+5</li>
		</ol>
		<script>
			$(function () {
                $('ul li:first').html" title=css>css('color','red');
                $('ul li:last').html" title=css>css('color','pink');
                $('ul li:eq(1)').html" title=css>css('color','skyblue');
                $('ol li:even').html" title=css>css('color','orange');
                $('ol li:odd').html" title=css>css('color','green');})
		</script>
	</body>
</html>

效果:
在这里插入图片描述

1.4 筛选方法

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

案例:

html"><!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="UTF-8">
		<title>Title</title>
		<script src="js/html" title=jquery>jquery-3.5.1.min.js"></script>
	</head>
	<body>
		<div class="father">
			<div class="son">son</div>
		</div>
		<div class="nav">
			<p>p</p>
			<div>
				<p>pp</p>
			</div>
		</div>
		<script>
			$(function () {
				// father
				$('.son').parent().html" title=css>css('color','yellow');
				// one_son
				$('.nav').children('p').html" title=css>css('color','red');
				// all sons
				$('.nav').find('p').html" title=css>css('color','purple');
            })
		</script>
	</body>
</html>

效果:
在这里插入图片描述

案例2,html" title=jquery>jquery下拉菜单:

html"><!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="UTF-8">
		<title>Title</title>
		<script src="js/html" title=jquery>jquery-3.5.1.min.js"></script>
		<style>html" title=css>css">
			* {
				margin: 0;
				padding: 0;
			}
			ul {
				list-style: none;
			}
			li {
				list-style: none;
			}
			a {
				text-decoration: none;
			}
			.nav {
				display: flex;
				width: 30%;
				height: 80px;
				flex-direction: row;
			}
			.nav>li {
				flex: 1;
				display: flex;
				flex-direction: column;
			}
			.nav>li>ul {
				display: none;
				width: 100%;
				height: 240px;
				flex-direction: column;
			}
			.nav>li>ul>li {
				flex: 1;
				background-color: pink;
				border:1px solid red;
				text-align: center;
				line-height: 80px;
			}
			.nav>li>a{
				height: 100%;
				background-color: skyblue;
				text-decoration: transparent;
				text-align: center;
				line-height: 80px;
				border: 1px solid red;
			}
		</style>
	</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>
		</ul>
	</body>
	<script>
		$(function () {
		    // 鼠标经过
			$(".nav>li").mouseover(function () {
			    // $(this)     //当前元素
				$(this).children('ul').html" title=css>css('display', 'flex');
            })
            $(".nav>li").mouseleave(function () {
                // $(this)     //当前元素
                $(this).children('ul').hide();
            })
        })
	</script>
</html>

好处显而易见,不需要用循环迭代(因为内部已经实现)


http://www.niftyadmin.cn/n/1403946.html

相关文章

Eboot 中给nandflash分区实现

提到分区就不得不提到MBR &#xff0c;不得不提到分区表。 什么是MBR 硬盘的0 柱面、0 磁头、1 扇区称为主引导扇区&#xff0c;NANDFLASH 由BLOCK 和Sector 组成&#xff0c;所以NANDFLASH 的第0 BLOCK &#xff0c;第1 Sector 为主引导扇区&#xff0c;FDISK 程序写到该扇…

jquery隐式迭代

jquery对象的css方法会将获取的所有元素遍历修改属性 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><title>Title</title><script src"js/jquery-3.5.1.min.js"></script><…

波峰焊与回流焊的区别

波峰焊与回流焊的区别&#xff08;上&#xff09; 波峰焊与回流焊是两种比较常见的焊接方式&#xff0c;下面我们就来谈一下波峰焊与回流焊的区别。表贴。表面安装技术&#xff0c;简称SMT&#xff0c;作为新一代电子装联技术已经渗透到各个领域&#xff0c;SMT产品具有结构紧…

jquery tab栏

<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><title>Title</title><script src"js/jquery-3.5.1.min.js"></script> <!--导入jquery--><style>* {margin: 0;paddi…

去耦电容的容值计算和布局布线

有源器件在开关时产生的高频开关噪声将沿着电源线传播。去耦电容的主要功能就是提供一个局部的直流电源给有源器件&#xff0c;以减少开关噪声在板上的传播&#xff0c;和将噪声引导到地。去耦电容的容值计算去耦的初衷是&#xff1a;不论IC对电流波动的规定和要求如何都要使电…

jquery css方法的三种使用,调用时可以传入对象

jQuery可以使用css方法来修改简单元素样式;也可以操作类&#xff0c;修改多个样式。 说明示例1.参数只写属性名&#xff0c;则是返回属性值$(this).css(“color”’);2.参数是属性名&#xff0c;属性值&#xff0c;逗号分隔&#xff0c;是设置一组样式&#xff0c;属性必须加引…

沉金板与镀金板的区别

一、沉金板与镀金板的区别   二、为什么要用镀金板   随着IC 的集成度越来越高&#xff0c;IC脚也越多越密。而垂直喷锡工艺很难将成细的焊盘吹平整&#xff0c;这就给SMT的贴装带来了难度&#xff1b;另外喷锡板的待用寿命&#xff08;shelf life&#xff09;很短。而镀…

bin文件格式分析

xip 的 bin 文件分析 一个bin 文件在存储上是按下面的结构存储的 组成&#xff1a;标记(7)Image开始地址(1)Image长度(1) 记录0地址记录0长记录0校验和记录0内容(文件内容) 记录1地址记录1长记录1校验和记录1内容(文件内容) ...... 最后一…