欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

jquery选择器排除某个DOM元素的方法

程序员文章站 2023-11-26 14:19:46
jquery选择器众多,使用选取某个dom的方法有很多种,如何在选取的某个元素集上面做一些排除呢?下面通过几个实例说明: 1.选择所有的img元素,排除class=phperno...

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真的很方便,贴在这里备份:

. 代码如下:

<!doctype html>
<html>
 <head>
  <title>菩提树下的杨过</title>
  <script type="text/javascript" src="https://img.24city.com/js/jquery-1.4.3.min.js"></script>
  <script type="text/javascript">
   $().ready(function(){
    $("p:not([delay='false'])").css("color","#f00");
   })
  </script>
 </head>
 <body>
  <p>p 1</p>
  <p delay="false">p 2</p>
  <p>p 3</p>
 </body>
</html>


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