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="http://img.24city.com/js/jquery-1.4.3.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全選中,並設置為紅色字體。