欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

jQuery 過(guò)濾方法filter()選擇具有特殊屬性的元素

 更新時(shí)間:2014年06月15日 09:57:51   投稿:whsnow  
需要選出所有有背景圖片的元素,使用jQuery的DOM過(guò)濾方法filter(),可以根據(jù)函數(shù)中表達(dá)的任何條件選擇元素,需要的朋友可以參考下
現(xiàn)在有這樣一種需求,需要選出所有有背景圖片的元素.
這個(gè)問(wèn)題有點(diǎn)棘手.我們無(wú)法使用選擇表達(dá)式來(lái)完成這個(gè)問(wèn)題了.
使用jQuery的DOM過(guò)濾方法filter(),可以根據(jù)函數(shù)中表達(dá)的任何條件選擇元素.

jQuery中的過(guò)濾器方法允許傳遞一個(gè)字符串(也就是選擇器表達(dá)式)作為參數(shù).
或者傳遞的是一個(gè)函數(shù).它的返回值將定義某個(gè)元素是否被選中.
傳遞的函數(shù)將對(duì)當(dāng)前選擇集中的每個(gè)元素運(yùn)行.
當(dāng)函數(shù)返回假時(shí),對(duì)應(yīng)的函數(shù)就從選擇集中被刪除掉.每當(dāng)返回值為真的時(shí)候,對(duì)應(yīng)的元素
不受影響.
復(fù)制代碼 代碼如下:

jQuery('*').filter(function(){
return !!jQuery(this).css('background');
});

上述代碼選擇所有具有背景圖片的元素.
初始集合是所有元素(*).然后以一個(gè)函數(shù)為參數(shù)調(diào)用filter().
這個(gè)函數(shù)在每個(gè)集合上進(jìn)行是否有屬性background屬性的判斷,
如果有,則保留.否則,則在結(jié)果集中刪除這個(gè)元素.

你所看到的!! 是javascript中間任何undefined ,空類型,當(dāng)然還有false.
如果函數(shù)調(diào)用返回的是這些值,那么函數(shù)返回false,從而在集合中刪除

沒(méi)有background屬性的元素.
實(shí)際上,!!并不是必要的.因?yàn)閖Query將把這些返回值轉(zhuǎn)化為Boolean類型.但是保留仍然是一個(gè)好的主意.
這樣任何人看到你的代碼的時(shí)候,都能絕對(duì)肯定你的意圖.(這有助于代碼的可讀性).

在傳遞個(gè)filter()的函數(shù)中,可以通過(guò)this關(guān)鍵字引用當(dāng)前元素.
將它包含在jQuery函數(shù)中就變成了一個(gè)jQuery對(duì)象了.
this //常規(guī)的元素對(duì)象.
jQuery(this) //jQuery對(duì)象.
下面是激發(fā)你想象力的一些例子.
復(fù)制代碼 代碼如下:

jQuery('div').filter(function(){
var width = jQuery(this).width;
return width >100 && widht < 200;
});
//返回子元素有10個(gè)或者20個(gè)的元素.
jQuery('*').filter(function(){
var children = jQuery(this).childern().length;
return children ===10 || children ===20;

});

下面是一個(gè)代碼例子:判斷有背景顏色的元素,并將它們的背景顏色全部改為黑色。
復(fù)制代碼 代碼如下:

<html>
<head>
<title></title>
<style type="text/css">
.c1{
background-color: yellow;
}
.c2{
background-color: green;
}
p{
background-color: pink;
}
h3{
background-color: gray;
}
</style>
</head>
<body>
<div class="c1">Bye Bye Beautiful</div>
<div class="c2">Nothing but the girl</div>
<p>The Lazy song</p>
<h2>If I die young</h2>
<h3>New soul</h3>
<script type="text/javascript" src="jquery.2.0.3.js"></script>
<script type="text/javascript">
jQuery(document).ready(function($) {
var ret = $('*').filter(function(index) {
return !$(this).css('background-color');
});
$.each(ret, function(index, val) {
$(val).css('background-color','black');
});
});
</script>
</body>
</html>

相關(guān)文章

  • jQuery入門知識(shí)簡(jiǎn)介

    jQuery入門知識(shí)簡(jiǎn)介

    seektanjQuery是最近比較火的一個(gè)JavaScript庫(kù),從del.icio.us/上相關(guān)的收藏可見(jiàn)一斑。
    2010-03-03
  • 基于jquery實(shí)現(xiàn)頁(yè)面滾動(dòng)時(shí)頂部導(dǎo)航顯示隱藏

    基于jquery實(shí)現(xiàn)頁(yè)面滾動(dòng)時(shí)頂部導(dǎo)航顯示隱藏

    這篇文章主要介紹了基于jquery實(shí)現(xiàn)頁(yè)面滾動(dòng)時(shí)頂部導(dǎo)航顯示隱藏效果,當(dāng)頁(yè)面向下滾動(dòng)的時(shí)候,導(dǎo)航菜單動(dòng)態(tài)隱藏,頁(yè)面滾動(dòng)到頂部時(shí),導(dǎo)航菜單動(dòng)態(tài)顯示,淘寶也采用過(guò)此效果,感興趣的小伙伴們可以參考一下
    2015-11-11
  • 利用Jquery實(shí)現(xiàn)幾款漂亮實(shí)用的時(shí)間軸(附示例代碼)

    利用Jquery實(shí)現(xiàn)幾款漂亮實(shí)用的時(shí)間軸(附示例代碼)

    這篇文章主要介紹了利用Jquery實(shí)現(xiàn)幾款漂亮的時(shí)間軸示例代碼,文中利用Jquery實(shí)現(xiàn)了縱向折疊時(shí)間軸、縱向鼠標(biāo)滑動(dòng)時(shí)間軸、縱向可折疊時(shí)間軸以及橫向時(shí)間軸,每種時(shí)間軸都給出了完整的示例代碼,需要的朋友可以參考學(xué)習(xí)。
    2017-02-02
  • 判斷一個(gè)對(duì)象是否為jquery對(duì)象的方法

    判斷一個(gè)對(duì)象是否為jquery對(duì)象的方法

    在用jquery的each做循環(huán)遍歷的時(shí)候常常會(huì)使用到this,要使用jquery的方法 前提此對(duì)象必須是jquery對(duì)象,下面為大家介紹下jquery對(duì)象的判斷方法
    2014-03-03
  • jQuery實(shí)現(xiàn)圖片輪播特效代碼分享

    jQuery實(shí)現(xiàn)圖片輪播特效代碼分享

    這篇文章主要介紹了jQuery實(shí)現(xiàn)圖片輪播特效,圖片輪播效果特別適合做產(chǎn)品展示,感興趣的小伙伴可以參考下。
    2015-09-09
  • jQuery中:animated選擇器用法實(shí)例

    jQuery中:animated選擇器用法實(shí)例

    這篇文章主要介紹了jQuery中:animated選擇器用法,實(shí)例分析了:animated選擇器的功能、定義及匹配動(dòng)畫效果元素的使用技巧,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2014-12-12
  • jQuery live

    jQuery live

    jQuery 1.3中新增的方法。給所有當(dāng)前以及將來(lái)會(huì)匹配的元素綁定一個(gè)事件處理函數(shù)(比如click事件)。
    2009-05-05
  • jQuery Ajax異步處理Json數(shù)據(jù)詳解

    jQuery Ajax異步處理Json數(shù)據(jù)詳解

    jquery ajax處理json數(shù)據(jù)其實(shí)與其它ajax處理數(shù)據(jù)沒(méi)什么很大的改動(dòng),我們只要簡(jiǎn)單處理一下ajax部份的dataType數(shù)據(jù)類型等于json即可解決了
    2013-11-11
  • jquery實(shí)現(xiàn)拖拽添加元素功能

    jquery實(shí)現(xiàn)拖拽添加元素功能

    這篇文章主要為大家詳細(xì)介紹了jquery實(shí)現(xiàn)拖拽添加元素功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • 解決jquery版本沖突的有效方法

    解決jquery版本沖突的有效方法

    這篇文章主要介紹了解決jquery版本沖突的有效方法,對(duì)于web設(shè)計(jì)的兼容性調(diào)試很有借鑒價(jià)值,需要的朋友可以參考下
    2014-09-09

最新評(píng)論