jquery选择器排除某个DOM元素的方法(实例演示)

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

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

复制代码代码如下:$('img:not(.phpernote)').length();//或者$('img').not('.phpernote').length();

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

复制代码代码如下:

$('#phpernoteli:not(.com)').size();//或者$('#phpernoteli').not('.com').length();

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

复制代码代码如下:$('#phpernoteli').not(':even').css('background-color','red');

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

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

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

复制代码代码如下:<!doctypehtml>

<html>

<head>

<title>菩提树下的杨过</title>

<scripttype="text/javascript"src="http://img.24city.com/js/jquery-1.4.3.min.js"></script>

<scripttype="text/javascript">

$().ready(function(){

$("div:not([delay='false'])").css("color","#f00");

})

</script>

</head>

<body>

<div>div1</div>

<divdelay="false">div2</div>

<div>div3</div>

</body>

</html>

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

相关推荐