JQuery选择器排除某个DOM元素

知更鸟
知更鸟
知更鸟
1647
文章
6938
评论
2019年12月24日13:41:50
评论
55

jquery选择器众多,使用选取某个DOM的方法有很多种,如何在选取的某个元素集上面做一些排除呢?下面通过几个实例说明:

1、选择所有的img元素,排除class=phpernote的元素的个数:

代码如下:

$('img:not(.phpernote)').length();

//或者

$('img').not('.phpernote').length();

2、获取id=phpernote下面所有没有class=com的li元素的个数

代码如下:

$('#phpernote li:not(.com)').size();

//或者

$('#phpernote li').not('.com').length();

3、设置id=phpernote下面所有奇数行的li元素的背景

代码如下:

$('#phpernote li').not(':even').css('background-color', 'red');

附实例:jQuery中排除指定元素,同时选择剩下的所有元素

场景:某页面用了js延时加载技术处理所有图片,以改善用户体验,但是有几个图片不想延时加载,要求把它们单独挑出来。

研究了一下jQuery的API文档,搞掂了,jQuery真的很方便,贴在这里备份:

代码如下:

<html>
<head>
<title>jquery选择器排除</title>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript">
	$().ready(function(){
	$("div:not([delay='false'])").css("color","#f00");
	})
</script>
</head>
<body>
	<div>div 1</div>
	<div delay="false">div 2</div>
	<div>div 3</div>
</body>
</html>

上面的代码,将把有附加属性"delay",且等于"false"的div排除掉,然后把剩下的div全选中,并设置为红色字体。

weinxin
版权声明
本站原创文章转载请注明文章出处
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: