前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >jQuery 选择器使用方法

jQuery 选择器使用方法

作者头像
Remember_Ray
发布2020-03-09 13:33:37
4.6K0
发布2020-03-09 13:33:37
举报
文章被收录于专栏:Ray学习笔记Ray学习笔记

id选择器(指定id元素)

id="divOne" 的元素背景色设置为红色。(id选择器返单个元素)

代码语言:javascript
复制
$('#divOne').css('background', 'red');

class选择器(遍历css类元素)

class="divTwo" 的元素背景色设为蓝色

代码语言:javascript
复制
$('.divTwo').css('background', 'blue');

element选择器(遍历html元素)

将p元素的文字设置为粉色

代码语言:javascript
复制
$('p').css('color', 'pink');

* 选择器(遍历所有元素)

将ul下的所有元素字体设置成黄色

代码语言:javascript
复制
$('ul *').css('color', 'yellow');

并列选择器

id = spanOneclass = 'pTwo' 的字体设置成蓝色

代码语言:javascript
复制
$('#spanOne,.pTwo').css('color', 'blue');

示例代码整体效果如下:

代码语言:javascript
复制
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		
		<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>
		
	</head>
	<body>
		<div id="divOne" style="height: 100px; width: 100px;"></div>
		<div class="divTwo" style="height: 100px; width: 100px;"></div>
		
		<p>element选择器(遍历html元素)</p>
		<p>将p元素的文字设置为粉色</p>
		
		<ul>
			<li>One</li>
			<li>Two</li>
			<li>Three</li>
		</ul>
		
		<p id="spanOne"> spanOne </p>
		<p class="pTwo"> pTwo </p>
		<p id="spanOne" class="pTwo"> spanOne And pTwo</p>
	</body>
	
	<script>
		$('#divOne').css('background', 'red');
		$('.divTwo').css('background', 'blue');
		$('p').css('color', 'pink');
		$('ul *').css('color', 'yellow');
		$('#spanOne,.pTwo').css('color', 'blue');
	</script>
</html>

parent > child(直系子元素)

代码语言:javascript
复制
$('#divOne > p').css('color', 'blue');

下面的代码,只有外层段落的字体会改变颜色,里层不会,因为里层是属于 divInner 的直系元素

代码语言:javascript
复制
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		
		<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>
	</head>
	<body>
		<div id="divOne">
			<p>外层段落一</p>
			<p>外层段落二</p>
			<p>外层段落三</p>
			<div id="divInner">
				<p>里层段落一</p>
				<p>里层段落二</p>
				<p>里层段落三</p>
			</div>
		</div>
	</body>
	
	<script>
		$('#divOne > p').css('color', 'blue');
	</script>
</html>

prev + next(下一个兄弟元素,等同于next()方法)

代码语言:javascript
复制
$('#divTwo + ul').css('color', 'red');

下面的代码,只有 id 为 divTwo 元素的下一个兄弟元素 ul 会变色,这里是序列1-*

代码语言:javascript
复制
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		
		<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>
	</head>
	<body>
		<div id="divTwo">
			
		</div>
		<ul>
			<li>序列1-1</li>
			<li>序列1-2</li>
			<li>序列1-3</li>
		</ul>
		<ul>
			<li>序列2-1</li>
			<li>序列2-2</li>
			<li>序列2-3</li>
		</ul>
	</body>
	
	<script>
		$('#divTwo + ul').css('color', 'red');
	</script>
</html>

prev ~ siblings(prev元素的所有兄弟元素,等同于nextAll()方法)

代码语言:javascript
复制
$('#divThree ~ span').css('color', 'red');

下面的代码,兄弟一到三会变色

代码语言:javascript
复制
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		
		<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>
	</head>
	<body>	
		<div id="divThree">
			
		</div>
		<span>兄弟一</span>
		<span>兄弟二</span>
		<span>兄弟三</span>
	</body>
	
	<script>
		$('#divThree ~ span').css('color', 'red');
	</script>
</html>

基本过滤选择器

:first 和 :last (取第一个或最后一个元素)

代码语言:javascript
复制
$('#divOne ul li :first').css('color', 'red');
$('#divOne ul li :last').css('color', 'blue');

下面的代码,序列1-1(first元素)和序列1-3(last元素)会变色(高版本中不支持)

代码语言:javascript
复制
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		
		<script src="https://cdn.bootcss.com/jquery/1.9.1/jquery.min.js"></script>
	</head>
	<body>
		<div id="divOne">
			<ul>
				<li>序列1-1</li>
				<li>序列1-2</li>
				<li>序列1-3</li>
			</ul>
		</div>
	</body>
	
	<script>
		$('#divOne ul li :first').css('color', 'red');
		$('#divOne ul li :last').css('color', 'blue');
	</script>
</html>

:not(取非元素)

代码语言:javascript
复制
$('div:not(#divOne)').css('color', 'red');

下面的代码,divTwo 和 divThree 会变色

代码语言:javascript
复制
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		
		<script src="https://cdn.bootcss.com/jquery/1.9.1/jquery.min.js"></script>
	</head>
	<body>
		<div id="divOne">
			divOne
		</div>
		<div id="divTwo">
			divTwo
		</div>
		<div class="divThree">
			divThree
		</div>
		
	</body>
	
	<script>
		$('div:not(#divOne)').css('color', 'red');
	</script>
</html>

:even和:odd(取偶数索引或奇数索引元素,索引从0开始,even表示偶数,odd表示奇数)

代码语言:javascript
复制
$('tr:even').css('background', 'red'); // 偶数行颜色
$('tr:odd').css('background', 'blue'); // 奇数行颜色

偶数行行颜色为红色(第一行的索引为0),奇数为蓝色

代码语言:javascript
复制
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		
		<script src="https://cdn.bootcss.com/jquery/1.9.1/jquery.min.js"></script>
	</head>
	<body>		
		<table border="1">
		  <tr>
		    <th>Month</th>
		    <th>Savings</th>
			<th>Name</th>
		  </tr>
		  <tr>
		    <td>January</td>
		    <td>$100</td>
			<td>LinBingWen</td>
		  </tr>
		    <tr>
		    <td>Feb</td>
		    <td>$200</td>
			<td>test</td>
		  </tr>
		    <tr>
		    <td>Jna</td>
		    <td>$2300</td>
			<td>kkk</td>
		  </tr>
		    </tr>
		    <tr>
		    <td>Nev</td>
		    <td>$800</td>
			<td>cdf</td>
		  </tr>
		    </tr>
		    <tr>
		    <td>few</td>
		    <td>$300</td>
			<td>ggg</td>
		  </tr>
		    </tr>
		    <tr>
		    <td>Oct</td>
		    <td>$300</td>
			<td>ccc</td>
		  </tr>
		</table>
	</body>
	
	<script>
		$('tr:even').css('background', 'red'); // 偶数行颜色
		$('tr:odd').css('background', 'blue'); // 奇数行颜色
	</script>
</html>

:eq(x) (取指定索引的元素)

代码语言:javascript
复制
$('tr:eq(2)').css('background', 'yellow'); // 表格第二行变色

:gt(x)和:lt(x)(取大于x索引或小于x索引的元素)

代码语言:javascript
复制
$('#divFour ul li:gt(2)').css('color', 'red');
$('#divFour ul li:lt(2)').css('color', 'blue');

序列4-0到4-1是红色,4-3到4-4为蓝色

代码语言:javascript
复制
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		
		<script src="https://cdn.bootcss.com/jquery/1.9.1/jquery.min.js"></script>
	</head>
	<body>
		<span id="divFour">
			<ul>
				<li>序列4-0</li>
				<li>序列4-1</li>
				<li>序列4-2</li>
				<li>序列4-3</li>
				<li>序列4-5</li>
			</ul>
		</span>
	</body>
	
	<script>	
		$('#divFour ul li:gt(2)').css('color', 'red');
		$('#divFour ul li:lt(2)').css('color', 'blue');
	</script>
</html>

:header(取H1~H6标题元素)

代码语言:javascript
复制
$(':header').css('background', 'pink');

H1~H6的背景色都会成粉色

内容过滤选择器

:contains(text)(取包含text文本的元素)

代码语言:javascript
复制
$('#divOne span:contains("兄弟1-1")').css('color', 'red');

下面的代码,兄弟1-1会变色

代码语言:javascript
复制
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		
		<script src="https://cdn.bootcss.com/jquery/1.9.1/jquery.min.js"></script>
	</head>
	<body>
		<div id="divOne">
			<span>兄弟1-1</span>
			<span>兄弟1-2</span>
			<span>兄弟1-3</span>
		</div>
	</body>
	
	<script>
		$('#divOne span:contains("兄弟1-1")').css('color', 'red');
	</script>
</html>

:empty(取不包含子元素或文本为空的元素)

代码语言:javascript
复制
$('#divTwo span:empty').html('没有内容').css('color', 'red');

下面第span显示”没有内容”文本

代码语言:javascript
复制
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		
		<script src="https://cdn.bootcss.com/jquery/1.9.1/jquery.min.js"></script>
	</head>
	<body>
		<div id="divTwo">
			<span></span><br />
			<span></span><br />
			<span></span><br />
		</div>
	</body>
	
	<script>
		$('#divTwo span:empty').html('没有内容').css('color', 'red');
	</script>
</html>

:has(selector)(取选择器匹配的元素)

代码语言:javascript
复制
$('#divThree:has(h1)').css('border', '1px solid #000'); // 为包含h1元素的div添加边框

为包含h1元素的div添加边框

代码语言:javascript
复制
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		
		<script src="https://cdn.bootcss.com/jquery/1.9.1/jquery.min.js"></script>
	</head>
	<body>
		<div id="divThree">
			<h1>我是标题一</h1>
			<span>我是span</span>
		</div>
	</body>
	
	<script>
		$('#divThree:has(h1)').css('border', '1px solid #000'); // 为包含h1元素的div添加边框
	</script>
</html>

:parent(取包含子元素或文本的元素)

代码语言:javascript
复制
$('ol li:parent').css('border', '1px solid #000');

下面的代码,序列1和序列2所在的li会有边框

代码语言:javascript
复制
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		
		<script src="https://cdn.bootcss.com/jquery/1.9.1/jquery.min.js"></script>
	</head>
	<body>
		<ol>
			<li>序列1</li>
			<li></li>
			<li></li>
			<li>序列2</li>
		</ol>
	</body>
	
	<script>
		$('ol li:parent').css('border', '1px solid #000');
	</script>
</html>

可见性过滤选择器

:hidden(取不可见的元素)

jQuery至1.3.2之后的:hidden选择器仅匹配 display:none<input type="hidden" /> 的元素,而不匹配 visibility: hiddenopacity:0 的元素。这也意味着hidden只匹配那些“隐藏的”并且不占空间的元素,像 visibility:hiddenopactity:0 的元素占据了空间,会被排除在外。

:visible(取可见的元素)

代码语言:javascript
复制
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		
		<script src="https://cdn.bootcss.com/jquery/1.8.1/jquery.min.js"></script>
	</head>
	<body>
		<button id = "buttonOne" style = "width:100px; height:45px;">点我改变颜色</button>
			<div class="div-1" style = 'display: none'>div-1</div>
			<div class="div-2" >div-2</div>
			<input type="hidden" value="hello"/>
	</body>
	
	<script>
		/*
		*DOM加载完全成执行
		*/
		$(function() {
			 $('#buttonOne').click(function(){
				 $('div:visible').css({'background':'blue','height':'20px'}); // div-2
				 $('div:hidden').show().css({'background':'red','height':'20px'}); // div-1
				 alert($('input:hidden').val()); // hello
			});
		});
	</script>
</html>

属性过滤选择器

[attribute](取拥有attribute属性的元素)

将有 title 元素的span设置背景色为篮色

代码语言:javascript
复制
$('span[title]').css('background','blue');

[attribute = value]和[attribute != value](取attribute属性值等于value或不等于value的元素)

代码语言:javascript
复制
$('span[title = test3]').css('background','red');

将有 title='test3' 元素的span设置背景色为红色

代码语言:javascript
复制
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		
		<script src="https://cdn.bootcss.com/jquery/1.8.1/jquery.min.js"></script>
	</head>
	<body>
		<button id = "buttonOne" style = "width:100px; height:45px;">点我改变颜色</button>
			<div id="divOne">
				<span title="test1">兄弟1-1</span>
				<span title="test2">兄弟1-2</span>
				<span title="test3">兄弟1-3</span>
			</div>
	</body>
	
	<script>
		/*
		*DOM加载完全成执行
		*/
		$(function() {
			 $('#buttonOne').click(function(){
				 $('span[title]').css('background', 'blue');
				 $('span[title = test3]').css('background', 'red');
			});
		});
	</script>
</html>
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-03-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • id选择器(指定id元素)
  • class选择器(遍历css类元素)
  • element选择器(遍历html元素)
  • * 选择器(遍历所有元素)
  • 并列选择器
  • parent > child(直系子元素)
  • prev + next(下一个兄弟元素,等同于next()方法)
  • prev ~ siblings(prev元素的所有兄弟元素,等同于nextAll()方法)
  • 基本过滤选择器
    • :first 和 :last (取第一个或最后一个元素)
      • :not(取非元素)
        • :even和:odd(取偶数索引或奇数索引元素,索引从0开始,even表示偶数,odd表示奇数)
          • :eq(x) (取指定索引的元素)
            • :gt(x)和:lt(x)(取大于x索引或小于x索引的元素)
              • :header(取H1~H6标题元素)
              • 内容过滤选择器
                • :contains(text)(取包含text文本的元素)
                  • :empty(取不包含子元素或文本为空的元素)
                    • :has(selector)(取选择器匹配的元素)
                      • :parent(取包含子元素或文本的元素)
                      • 可见性过滤选择器
                        • :hidden(取不可见的元素)
                          • :visible(取可见的元素)
                          • 属性过滤选择器
                            • [attribute](取拥有attribute属性的元素)
                              • [attribute = value]和[attribute != value](取attribute属性值等于value或不等于value的元素)
                              领券
                              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档