jq基本选择器

jQuery 选择器大致分为四种:基本选择器、层次选择器、过滤选择器、表单选择器

一、jq基本选择器

选择器的用法跟css的用法一致,只是需要增加选择函数。$('');

如下面那道题:

id选择器为  $('#two');

类选择器  $('.one');

标签选择器,元素选择器为  $('button');

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			.one{
			}
			#two{ 
			}
		</style>
	</head>
	<body>
		<button id="two">按钮</button>
		<button class="one" >按钮</button>
		<button>按钮</button>
		<button>按钮</button>
		<button>按钮</button>				
		<script src="js/jquery-3.2.1.js"></script>
		<script>
			/*选择器的用法跟css的用法一致,只是需要增加选择函数。$('');*/
			/*可以直接操作数组*/
			/*控制css样式, 选择标签.css('样式','样式的值');*/
			$('button').css('background','red');
			$('.one').css('background','pink');
			$('#two').css('color','white');
		</script>
	</body>
</html>

运行结果: 

二、层次选择器

1、 派生选择器:在s1内部获得全部的s2节点(不考虑层次)

  $("div span")// 派生选择器

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style>
			div{
				width: 100px;
				height: 100px;
			}
			span 
		</style>
	</head>
	<body>
		<div>
			<span>我是1</span>
			<p>
			<span>我是2</span>
			</p>
			<span>我是3</span>
		</div>
		<span>我是4</span>
		<script src="js/jquery-3.2.1.js"></script>
		<script>
			$("div span").css('background','red')// 派生选择器
//			$("div>span").css('background','pink')// 子代选择器
//			$("div+span").css('background','lime')// 兄弟选择器
//			$("div+span").css('background','lime')// 兄弟选择器
		</script>
	</body>
</html>

运行结果: 

  2、$(s1 > s2) [父子]:直接子元素选择器:在s1内部获得s2的子元素节点

$("div>span")// 子代选择器

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style>
			div{
				width: 100px;
				height: 100px;
			}
			span 
		</style>
	</head>
	<body>
		<div>
			<span>我是1</span>
			<p>
			<span>我是2</span>
			</p>
			<span>我是3</span>
		</div>
		<span>我是4</span>
		<script src="js/jquery-3.2.1.js"></script>
		<script>
//			$("div span").css('background','red')// 派生选择器
			$("div>span").css('background','pink')// 子代选择器
//			$("div+span").css('background','lime')// 兄弟选择器
//			$("div+span").css('background','lime')// 兄弟选择器
		</script>
	</body>
</html>

运行结果: 

3 、$(s1 + s2) [兄弟]:直接兄弟选择器:在s1后边获得紧紧挨着的第一个兄弟关系的s2节点

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style>
			div{
				width: 100px;
				height: 100px;
			}
			span 
		</style>
	</head>
	<body>
		<div>
			<span>我是1</span>
			<p>
			<span>我是2</span>
			</p>
			<span>我是3</span>
		</div>
		<span>我是4</span>
		<script src="js/jquery-3.2.1.js"></script>
		<script>
//			$("div span").css('background','red')// 派生选择器
//			$("div>span").css('background','pink')// 子代选择器
			$("div+span").css('background','lime')// 兄弟选择器
//			$("div+span").css('background','lime')// 兄弟选择器
		</script>
	</body>
</html>

运行结果:

4、  $(s1 ~ s2) [兄弟]:后续全部兄弟关系节点选择器:在s1后边获得全部兄弟关系的s2节点

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style>
			div{
				width: 100px;
				height: 100px;
			}
			span 
		</style>
	</head>
	<body>
		<div>
			<span>我是1</span>
			<p>
			<span>我是2</span>
			</p>
			<span>我是3</span>
		</div>
		<span>我是4</span>
		<script src="js/jquery-3.2.1.js"></script>
		<script>
//			$("div span").css('background','red')// 派生选择器
//			$("div>span").css('background','pink')// 子代选择器
//			$("div+span").css('background','lime')// 兄弟选择器
			$("div+span").css('background','lime')// 兄弟选择器
		</script>
	</body>
</html>

 

三、(过滤)选择器

 

<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			div{
			}
		</style>
	</head>

	<body>
		<h1>并且选择器</h1>
		<h2>并且选择器</h2>
		<h3>并且选择器</h3>
		<h4>并且选择器</h4>
		<ul>
			<li>我是1</li>
			<li id="two">我是2</li>
			<li>我是3</li>
			<li id="four">我是4</li>
			<li>我是5</li>
			<li>我是6</li>
			<li>我是7</li>
			<li>我是8</li>
		</ul>

		<input type="button" value="触发" onclick="f1()" />
		<script src="js/jquery-3.2.1.js"></script>
		<script type="text/javascript">
			function f1() {
				$("li").css('font-weight','bold');
				// :first 找到第一个
				//li元素同时,还需要是第一个
				$("li:first").css('background-color', 'blue');
				// :last 找到最后一个
				$("li:last").css('background-color', 'green');
				// :eq(下标) 下标从0计算, equal()
				$("li:eq(4)").css('color', 'pink');
				// :gt(索引值) 下标大于条件索引值, great than
				$("li:gt(4)").css('color', 'red');
				// :lt(索引值) 下标小于条件索引值, less than
				$("li:lt(3)").css('color', 'orange');
				// :even 下标索引值等于偶数的
				$("li:even").css('font-size', '20px');
				// :odd 下标索引值等于奇数的
				$("li:odd").css('font-size', '30px');
				// :not(选择器) 去除与“选择器”匹配的元素
				$("li:not(#two,#four)").css('text-decoration', 'overline');
				// :header 获得h1/h2/h3...的标题元素
				$(":header").css('color', 'blue');
			}
		</script>
	</body>

</html>

6  内容过滤选择器

:contains(内容)

包含内容选择器,获得节点内部必须通过标签包含指定的内容

$(“div:contains(beijing)”)

<div>linken love beijing</div>

<div>jack love shanghai</div>

 :empty

获得空元素(内部没有任何元素/文本(空) )节点对象

$(“div:empty”)

<div>linken love beijing</div>

<div>jack love shanghai</div>

<div></div>

<div><img /></div>含有<img>节点

<div>      </div>//含有 空格实心节点

:has(选择器)

内部包含指定元素的选择器
       $(“div:has(#apple)”)

<div>hello</div>

<div><p></p></div>

<div><span  id=”apple”></span></div>//id选择器

<div><span  class=”apple”></span></div>

:parent

寻找的节点必须作为父元素节点存在

$(“div:parent”)

<div>linken love beijing</div>

<div>jack love shanghai</div>

<div></div>

<div><img /></div>

<div>      </div>

/********************************************/

function f1(){
//① $(":contains(text)")
$("div:contains(beijing)").css('background-color','red');
//② $(":empty")
$("div:empty").css('width','200px');
$("div:empty").css('height','100px');
$("div:empty").css('background-color','pink');
//③ $(":has(selector)")
console.log($("div:has(.orange)"));
//④ $(":parent")
console.log($("div:parent"));
}

<h1>内容过滤选择器</h1>
<div>linken love beijing</div>
<div>jack love shanghai</div>
<div></div>
<div><img /></div>
<div> </div>
<div><p class="orange"></p></div>
<div><span class="orange"></span></div>

<input type="button" value="触发" οnclick="f1()" />

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值