选择器与过滤器

02_选择器

选择器: 是一个字符串,是定位条件;通知 jquery 函数定位满足条件的 DOM 对象

常用基本选择器

ID选择器

通过DOM对象的id选择DOM对象

var $obj = $("#id");

class选择器

通过DOM对象的class来选择一类DOM对象

var $objs = $(".class");

标签选择器

通过DOM对象的标签来选择一类DOM对象

var $objs = $("span");

全部选择器

通过通配符*来选中所有DOM对象

var $objs = $("*");

组合选择器

通过使用多个选择器来选中符合条件的元素,这些选择器是并集

var $objs = $("#id,.class");

案例

有三个div的DOM对象,初始颜色为green,通过点击不同按钮改变不同DOM对象的颜色

🚩注意:对jquery对象的操作,就是操作jquery对象中的全部成员(DOM对象)

点击不同的按钮,分别使用 id选择器、class选择器、标签选择器、全部选择器、组合选择器 来选中不同的一个或多个DOM对象,并通过jquery对象的函数改变DOM对象的颜色

<html>
	<head>
		<style type="text/css">
			.class,#id{
				width: 100px; height: 50px; background-color: green;
			}
		</style>
		<script type="text/javascript" src="js/jquery-3.5.1.js"></script>
		<script type="text/javascript">
			// 点击按钮使用id选择器更改DOM对象的背景颜色
			function fun1() {
				var $obj = $("#id");
				$obj.css("backgroundColor","red")
			}
			// 点击按钮使用class选择器更改DOM对象的背景颜色
			function fun2() {
				var $objs = $(".class");
				$objs.css("backgroundColor","blue")
			}
			// 点击按钮使用标签选择器更改DOM对象的背景颜色
			function fun3() {
				var $objs = $("div");
				$objs.css("backgroundColor","yellow")
			}
            // 点击按钮使用全部选择器更改所有DOM对象的背景颜色
			function fun4() {
				var $objs = $("*");
				$objs.css("backgroundColor","orange")
			}
            // 点击按钮更改#id和span的DOM对象的背景颜色
			function fun5() {
				var $objs = $("#id,span");
				$objs.css("backgroundColor","black")
			}
		</script>
	</head>
	<body>
		<div id="id">id</div>
		<div class="class">class</div>
		<div class="class">class</div>
		
		<input type="button" onclick="fun1()" value="使用id选择器改变颜色" />
		<input type="button" onclick="fun2()" value="使用class选择器改变颜色" />
		<input type="button" onclick="fun3()" value="使用标签选择器改变颜色" />
        <input type="button" onclick="fun4()" value="使用所有选择器改变颜色" />
        <input type="button" onclick="fun5()" value="使用组合选择器改变颜色" />
	</body>
</html>

表单选择器

使用<input>标签的type属性值,定位DOM对象的方式

语法

$(":type属性值")

例子

// 选中所有的type=text属性值的input标签
$(":text").css("background","green")
// 选中所有的type=button属性值的input标签
$(":button").css("background","yellow")

注意

  1. 表单选择器使用与是否有form标签无关
  2. 仅有type属性的标签才能使用

过滤器

过滤器就是过滤条件,对已经定位到数组中 DOM 对象进行过滤筛选;过滤条件不能独立出现在 jquery 函数;如果使用只能出现在选择器后方。

过滤器像CSS的伪类选择器

基本过滤器

first选择第一个DOM对象

选择第一个 first, 保留数组中第一个 DOM 对象

语法:$("选择器:first")

var $obj = $(".box:first");

last选择最后一个DOM对象

选择最后个 last, 保留数组中最后 DOM 对象

语法:$("选择器:last")

var $obj = $(".box:last");

eq选择数组中指定DOM对象

选择数组中指定对象

语法:$("选择器:eq(index)")

var $obj = $(".box:eq(2)");

lt选择数组中小于指定索引的所有 DOM 对象

选择数组中小于指定索引的所有 DOM 对象

语法:$("选择器:lt(index)")

var $obj = $(".box:lt(2)");

gt选择数组中大于指定索引的所有 DOM 对象

选择数组中大于指定索引的所有 DOM 对象

语法:$("选择器:gt(index)")

var $obj = $(".box:gt(2)");

例子

点击不同按钮,设置选定的div背景颜色

<!DOCTYPE html>
<html>
	<head>
		<script type="text/javascript" src="js/jquery-3.5.1.js"></script>
		<script type="text/javascript">
			function fun0() {
				// 选择第一个DOM对象
				var $obj = $(".box:first");
				$obj.css("backgroundColor","red");
			}
			
			function fun1() {
				// 选择最后一个DOM对象
				var $obj = $(".box:last");
				$obj.css("backgroundColor","green");
			}
			
			function fun2() {
				// 选择指定索引的DOM对象
				var $obj = $(".box:eq(2)");
				$obj.css("backgroundColor","orange");
			}
			
			function fun3() {
				// 选择小于指定索引的所有DOM对象
				var $obj = $(".box:lt(2)");
				$obj.css("backgroundColor","blue");
			}
			
			function fun4() {
				// 选择大于指定索引的所有DOM对象
				var $obj = $(".box:gt(2)");
				$obj.css("backgroundColor","yellow");
			}
		</script>
	</head>
	<body>
		<div class="box">box0</div>
		<div class="box">box1</div>
		<div class="box">box2</div>
		<div class="box">box3</div>
		<div class="box">box4</div>
		<button onclick="fun0()">first选择第一个box</button>
		<button onclick="fun1()">last选择最后一个box</button>
		<button onclick="fun2()">eq选择索引为2的box</button>
		<button onclick="fun3()">lt选择小于指定索引的box</button>
		<button onclick="fun4()">gt选择大于指定索引的box</button>
	</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值