【jQuery】3.jquery选择器

jquery选择器

1.什么是jquery选择器
jquery中的选择器完全继承了css1.0~2.0的风格,实现少部分css3选择器
,如果对于CSS选择器非常了解,那么学习jquery选择器会非常简单。
利用jquery选择器可以非常快速的找出你想要的DOM元素,然后为这些
DOM元素添加你想要的效果,无需担心浏览器的兼容。
实例:演示选择器浏览器的兼容性(子选择器)

小结:jquery选择器的写法与css非常相近,但是作用不同。css选择的元
素只能对基添加样式(CSS表达式除外,项目中基本不允许有css表达式,
而且IE8标准模式已经取消对css表达式的支持),jquery选择器找到的元
素可以为其添加行为。

例子:
<!doctype html>
<html lang="en">
<head>
	<meta charset="GBK">
	<title>demo1</title>
	<style>
		div a{color:red}
	</style>
</head>
<body>
	<div>
		<a href="####">abcdefg</a>
		<p><a href="####">1234567890</a></p>
	</div>
</body>
</html>

这里,所有的a标签都会变成红色。那么如果我们不想让p标签的a标签中的文字变成红色该怎么办?我们在样式的a前面加一个“>”号即可:
<style>
	div>a{color:red}
</style>
这里样式只对div的第一层子标签中的a标签有用。

但是这个“>”号在某些版本的浏览器中是不能显示的,所以下面我们使用Jquery的选择器来配置这个样式:
<!doctype html>
<html lang="en">
<head>
	<meta charset="GBK">
	<title>demo1</title>
	<script src="jquery-1.8.0.min.js"></script>
	<script>
		$(function(){
			$('div>a').css('color','red');
		});
	</script>
</head>
<body>
	<div>
		<a href="####">abcdefg</a>
		<p><a href="####">1234567890</a></p>
	</div>
</body>
</html>

结果效果和之前一样,而且这个是可以跨浏览器支持的,解决了兼容性问题,这也就是Jquery的一大优势之一。

2.jquery选择器的优势
(1)完全支持CSS1.0~2.0的选择器,支持部分
CSS3选择器,学习曲线平缓,可以快速上手

(2)完美的容错机制
即使页面上没有该元素,jquery也不会报错

例子:
<!doctype html>
<html lang="en">
<head>
	<meta charset="GBK">
	<title>demo2</title>
	<script src="jquery-1.8.0.min.js"></script>
	<script>
		window.οnlοad=function(){
			var p1=document.getElementById('p1');
			p1.style.color="red";
		}
		$(function(){
			$('#p1').css('color','red');
		})
	</script>
</head>
<body>
	<div>
		<p id="p1">abcdefg</p>
	</div>
</body>
</html>

如果把‘p1’改为‘p2’(不存在),这个:
window.οnlοad=function(){
	var p1=document.getElementById('p12');
	p1.style.color="red";
}
会报错,但是
$(function(){
	$('#p1').css('color','red');
})
不报错

3.jquery选择器的种类
(1)基本选择器
①#id,选择ID的元素
javascript:
<style>
	#p1{color:red;}
</style>
jquery:
<script>
	$(function(){
		$('#p1').css('color','red');
	})
</script>

②.class,类名选择器
javascript:
<style>
	#p1{color:red;}
</style>
jquery:
<script>
	$(function(){
		$('#p1').css('color','red');
	})
</script>

③element,标签选择器
jquery:
<script>
	$(function(){
		$('p').css('color','red');
	})
</script>

④*,选择所有元素
<script>
	$(function(){
		$('*').css('border','10px solid green');
	})
</script>
不推荐使用“*”号,控制的元素太多,会影响其他元素

⑤E1,E2,E3,... En,多重选择器
javaScript:
<style>
	p,div{color:red;}
</style>
jquery:
<script>
	$(function(){
		$('p,div').css('border','10px solid green');
	})
</script>

(2)层次选择器
① E F ,选择E元素所有的后代元素

② E>F,选择E元素的子元素,子选择器

③ E+next,选择E元素后的紧临的兄弟元素,等价于.next()
例子:
<!doctype html>
<html lang="en">
<head>
	<meta charset="GBK">
	<title>demo2</title>
	<script src="jquery-1.8.0.min.js"></script>
	<style>
		/*div+p{color:red;}*/
	</style>
	<script>
		$(function(){
			//$('div+p').css('color','red');
			$('div').next().css('color','red');
		})
	</script>
</head>
<body>
	<div>这个是div标签</div>
	<p>这个是p标签</p>
	<span>这个是span标签</span>
</body>
</html>

将紧邻div的兄弟元素文字变红

④ E~siblings,选择E元素后的所有兄弟元素,等价于.nextAll()
例子:
<!doctype html>
<html lang="en">
<head>
	<meta charset="GBK">
	<title>demo2</title>
	<script src="jquery-1.8.0.min.js"></script>
	<style>
		/*div~p{color:red;}*/
	</style>
	<script>
		$(function(){
			//$('div').nextAll('p').css('color','red');
			$('div~p').css('color','red');
		})
	</script>
</head>
<body>
	<div>这个是div标签</div>
	<p>这个是p标签</p>
	<span>这个是span标签</span>
	<p>这个是p标签</p>
</body>
</html>

将紧邻div的下所有p兄弟标签元素文字变红

转载请注明出处:http://blog.csdn.net/acmman/article/details/49173847

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值