jQuery选择器

导读:本篇文章讲解 jQuery选择器,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

 

目录

 

一、jQuery基础选择器

1、 标签选择器

2、类选择器

3、ID选择器

4、并集选择器

5、交集选择器

二、层次选择器

1、后代选择器

2、子选择器

3、相邻元素选择器

4、同辈元素选择器

5、属性选择器

6、过滤选择器

7、jQuery筛选方法


一、jQuery基础选择器

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

$("选择器")//里面选择器直接写CSS选择器即可,但是要加引号
名称 用法 描述
ID选择器 $(“”#id”) 获取指定ID的元素
全选选择器 $(‘*’) 匹配所有元素
类选择器 $(“.class”) 获取同一类class的元素
标签选择器 $(“”div”) 获取同一类标签的所有元素
并集选择器 $(“div,p,li”) 选取多个元素
交集选择器 $(“li.current”) 交集元素

1、 标签选择器

<body>
	<div>123</div>
	<button>点击一下</button>
	<script>
		$(function(){
			$("button").click(function(){
				$("div").css("color","red");
			});
		});
	</script>
</body>

2、类选择器

<head>
		<meta charset="utf-8">
		<title>编写第一个jQuery程序</title>
		<script src="../jquery/jQuery-3.6.1.min.js"></script>
		<style>
			.div{
				width: 50px;
				height: 50px;
				background-color: wheat;
			}
		</style>
	</head>
	<body>
		<div class="div">123</div>
		<button class="button">点击一下</button>
		<script>
			$(function(){
				$(".button").click(function(){
					$(".div").css("background-color","black");
					$(".div").css("color","#fff")
				});
			});
		</script>
	</body>

3、ID选择器


	<body>
		<div class="div" id="div">123</div>
		<button class="button" id="button">点击一下</button>
		<script>
			$(function(){
				$("#button").click(function(){
					$("#div").css("background-color","gray");
					$("#div").css("color","#fff")
				});
			});
		</script>
	</body>

4、并集选择器

<body>
		<div class="div" id="div">123</div>
		<p id="p">123</p>
		<button id="button">点击一下</button>
		
		<script>
			$(function(){
				$("#button").click(function(){
					$(".div,#p,#button").css("background-color","gray")
				});
			});
		</script>
	</body>

5、交集选择器

<body>
	<div id="test" class="test">123</div>
	<p class=""></p>
	<p class="test"></p>
	<span class="no"></span>
</body>
<script>
	console.log($("p.test"));
</script>

二、层次选择器

层次选择器通过DOM 元素之间的层次关系来获取元素

名称 语法 描述 示例

后代选择器

ancestor descendant

选取ancestor元素里的所有descendant(后代)元素

$(“#menu span” )选取#menu下的<span>元素

子选择器

parent>child

选取parent元素下的child(子)元素

$(” #menu>span” )选取#menu的子元素<span>

相邻元素选择器

prev+next

选取紧邻prev元素之后的next元素

$(” h2+dl ” )选取紧邻<h2>元素之后的同辈元素<dl>

同辈元素选择器

prev~sibings

选取prev元素之后的所有siblings元素

$(” h2~dl ” )选取<h2>元素之后所有的同辈元素<dl>

1、后代选择器

<body>
	    <div>
	    	<p>
				123
				<span>123</span>
			</p>
	    	<p>
				123
				<span>123</span>
			</p>
	    </div>
</body>
<script>
	$(function(){
		$("div p").css("color","red");
	});
</script>

2、子选择器

<body>
	    <div>
	    	<p>
				<a href="">123</a>
				<span>123</span>
			</p>
	    	<p>
				<a href="">123</a>
				<span>123</span>
			</p>
	    </div>
	</body>
	<script>
	    $(function(){
			$("p>a").css("color","red");
		});
	</script>

3、相邻元素选择器

<body>
		<ol>
			<p>123</p>
			<li>123</li>
			<li>123</li>
			<li>123</li>
		</ol>
	    	
</body>
<script>
	$(function(){
		$("p+li").css("color","red");
	});
</script>

4、同辈元素选择器

<body>
	<ol>
		<p>123</p>
		<li>123</li>
		<li>123</li>
		<li>123</li>
	</ol>
	    	
</body>
<script>
	$(function(){
		$("p~li").css("color","red");
	});
</script>

5、属性选择器

语法构成 秒数 示例

[attribute]

选取包含给定属性的元素

$(” [href]” )选取含有href属性的元素

[attribute=value]

选取等于给定属性是某个特定值的元素

$(” [href =’#’]” )选取href属性值为“#”的元素

[attribute !=value]

选取不等于给定属性是某个特定值的元素

$(” [href !=’#’]” )选取href属性值不为“#”的元素

[attribute^=value]

选取给定属性是以某些特定值开始的元素

$(” [href^=’en’]” )选取href属性值以en开头的元素

[attribute$=value]

选取给定属性是以某些特定值结尾的元素

$(” [href$=’.jpg’]” )选取href属性值以.jpg结尾的元素

[attribute*=value]

选取给定属性是以包含某些值的元素

$(” [href* =’txt’]” )选取href属性值中含有txt的元素

根据属性名获取元素:

<body>
<section id="news">
    <header>京东快报<a href="#" class="more">更多 > </a></header>
    <ul>
        <li><a href="sale.jd.com/act/h7mf8.html" class="hot"><span>[618]</span>志玲姐姐:墨镜300减30</a></li>
        <li><a href="www.jd.com/news.aspx?id=29257"><span>[公告]</span>京东无锡馆正式启动</a></li>
        <li><a href="sale.jd.com/act/k2ad45v.html"><span>[特惠]</span>99元抢平板!品牌配件199-100</a></li>
        <li><a href="www.jd.com/news.aspx?id=29252"><span>[公告]</span>节能领跑京东先行</a></li>
        <li><a href="sale.jd.com/act/ugk2937w.html" class="last"><span>[特惠]</span>高洁丝实力撩货,领券五折</a></li>
    </ul>
</section>
<script type="text/javascript" src="js/jquery-1.12.4.js"></script>
<script>
	$(function(){
		$("a[href]").css("background-color","grey")
	})
</script>
</body>

根据属性值获取元素

<script>
	$(function(){
		$("a[class = 'hot']").css("background-color","grey")
	})
</script>

根据属性值包含特定的值获取元素:以指定值开头的元素

<script>
	$(function(){
		$("a[href^='www']").css("background-color","grey")
	})
</script>

以指定值结尾的元素

<script>
	$(function(){
		$("a[href$='html']").css("background-color","grey")
	})
</script>

包含指定值的元素

<script>
	$(function(){
		$("#news a[href*='k2']").css("background","#c9cbcb");
	})
</script>

6、过滤选择器

语法 描述 示例

:first

选取第一个元素

$(” li:first” )选取所有<li>元素中的第一个<li>元素

:last

选取最后一个元素

$(” li:last” )选取所有<li>元素中的最后一个<li>元素

:not(selector)

选取去除所有与给定选择器匹配的元素

$(” li:not(.three)” )选取class不是three的元素

:even

选取索引是偶数的所有元素(index0开始)

$(” li:even” )选取索引是偶数的所有<li>元素

:odd

选取索引是奇数的所有元素(index0开始)

$(” li:odd” )选取索引是奇数的所有<li>元素

语法 描述 示例

:eq(index)

选取索引等于index的元素(index0开始)

$(“li:eq(1)” )选取索引等于1<li>元素

:gt(index)

选取索引大于index的元素(index0开始)

$(” li:gt(1)” )选取索引大于1<li>元素(注:大于1,不包括1

:lt(index)

选取索引小于index的元素(index0开始)

$(“li:lt(1)” )选取索引小于1<li>元素(注:小于1,不包括1

:header

选取所有标题元素,如h1~h6

$(“:header” )选取网页中所有标题元素

:focus

选取当前获取焦点的元素

$(“:focus” )选取当前获取焦点的元素

:animated

选择所有动画

$(“:animated” )选取当前所有动画元素

<script>
$(function() {
    $("ul li:first" ).css("color", "red");
    $("ul li:eq(2)").css( "color", "blue");
    $("ol li:odd" ).css("color" , "skyblue");
    $(""ol li:even ").css("color", "pink");
});
</script>

7、jQuery筛选方法

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

查找父级 parent():

<body>
		<div class="yeye">
			<div class="baba">
				<div class="son">儿子</div>
			</div>
		</div>
		<div class="nav">
			<p>123</p>
			<div>
				<p>456</p>
			</div>
		</div>
		<script>
			$(function(){
				console.log($(".son").parent());
			})
		</script>
	</body>

亲儿子children(selector)和后代find(selector)

//(1)亲儿子 children()类似子代选择器ul>li
$(".nav" ).children("p" ).css( "color", "red" );
// (2)可以选里面所有的孩子包括儿子和孙子find()类似于后代选择器
$(".nav").find("p").css( "color", "red" );

 siblings(selector);eq(index);hasClass(class)

<script>
    $(function(){
		// 1.兄弟元素siblings除了自身元素之外的所有亲兄弟
		$("ol .item").siblings("li").css("color","red");
		// 2.第n个元素
		var index = 2;
		//(1)我们可以利用选择器的方式选择
		//$("ul li:eq(2)").css( "color", "blue" );
		// $("ul li:eq( "+index+")" ).css("color", "blue");
		// (2)我们可以利用选择方法的方式选择更推荐这种写法
		// $("ul li").eq(2).css( "color", "blue" );
		$("ul li").eq(index).css("color","blue");
		// 3.判断是否有某个类名
		console.log($("div:first").hasClass("div"));
		console.log($("div:last").hasClass("div"));
	});
</script>

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/97184.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!