成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

改變獲取對象方式 萬能的jQuery選擇器

開發 開發工具
本章講解jQuery最重要的選擇器部分的知識,有了jQuery的選擇器我們幾乎可以獲取頁面上任意的一個或一組對象, 可以明顯減輕開發人員的工作量。

編寫任何javascript程序我們要首先獲得對象,jQuery選擇器可以獲取幾乎任何語意的對象,比如"擁有title屬性并且值中包含test的元素",完成這些工作只需要編寫一個jQuery選擇器字符串,學習jQuery選擇器是學習jQuery最重要的一步。

51CTO推薦專題: jQuery從入門到精通

Dom對象和jQuery包裝集

無論是在寫程序還是看API文檔,  我們要時刻注意區分Dom對象和jQuery包裝集。

1.Dom對象

在傳統的javascript開發中,我們都是首先獲取Dom對象,比如:

  1. var div = document.getElementById("testDiv");   
  2. var divs = document.getElementsByTagName("div"); 

我們經常使用document.getElementById方法根據id獲取單個Dom對象, 或者使用document.getElementsByTagName方法根據HTML標簽名稱獲取Dom對象集合。

另外在事件函數中, 可以通過在方法函數中使用this引用事件觸發對象(但是在多播事件函數中IE6存在問題), 或者使用event對象的target(FF)或srcElement(iIE6)獲取到引發事件的Dom對象

注意我們這里獲取到的都是Dom對象, Dom對象也有不同的類型比如input, div, span等.  Dom對象只有有限的屬性和方法:

2.jQuery包裝集

jQuery包裝集可以說是Dom對象的擴充.在jQuery的世界中將所有的對象, 無論是一個還是一組, 都封裝成一個jQuery包裝集,比如獲取包含一個元素的jQuery包裝集:

  1. var jQueryObject = $("#testDiv");
  2.  

jQuery包裝集都是作為一個對象一起調用的. jQuery包裝集擁有豐富的屬性和方法, 這些都是jQuery特有的:

3.Dom對象與jQuery對象的轉換

(1) Dom轉jQuery包裝集

如果要使用jQuery提供的函數,  就要首先構造jQuery包裝集.  我們可以使用本文即將介紹的jQuery選擇器直接構造jQuery包裝集,比如:

  1. $("#testDiv");
  2.  

上面語句構造的包裝集只含有一個id是testDiv的元素,或者我們已經獲取了一個Dom元素,比如:

  1. var div = document.getElementById("testDiv"); 
  2.  

上面的代碼中div是一個Dom元素, 我們可以將Dom元素轉換成jQuery包裝集:

  1. var domToJQueryObject = $(div); 
  2.  

小竅門:因為有了智能感知, 所以我們可以通過智能感知的方法列表來判斷一個對象啊是Dom對象還是jQuery包裝集.

(2) jQuery包裝集轉Dom對象

jQuery包裝集是一個集合, 所以我們可以通過索引器訪問其中的某一個元素:

  1. var domObject = $("#testDiv")[0]; 
  2.  

注意, 通過索引器返回的不再是jQuery包裝集, 而是一個Dom對象!jQuery包裝集的某些遍歷方法,比如each()中, 可以傳遞遍歷函數, 在遍歷函數中的this也是Dom元素,比如:

  1. $("#testDiv").each(function() { alert(this) })
  2.  

如果我們要使用jQuery的方法操作Dom對象,怎么辦? 用上面介紹過的轉換方法即可:

  1. $("#testDiv").each(function() { $(this).html("修改內容") })
  2.  

小結: 先讓大家明確Dom對象和jQuery包裝集的概念, 將極大的加快我們的學習速度. 我在學習jQuery的過程中就花了很長時間沒有領悟到兩者的具體差異, 因為書上并沒有專門講解兩者的區別, 所以經常被"this指針為何不能調用jQuery方法"等問題迷惑.  直到某一天豁然開朗, 發現只要能夠區分這兩者, 就能夠在寫程序時變得清清楚楚。

#p#

什么是jQuery選擇器

在Dom編程中我們只能使用有限的函數根據id或者TagName獲取Dom對象,在jQuery中則完全不同,jQuery提供了異常強大的選擇器用來幫助我們獲取頁面上的對象, 并且將對象以jQuery包裝集的形式返回,首先來看看什么是選擇器:

  1. //根據ID獲取jQuery包裝集   
  2. ar jQueryObject = $("#testDiv"); 

上例中使用了ID選擇器, 選取id為testDiv的Dom對象并將它放入jQuery包裝集, ***以jQuery包裝集的形式返回。"$"符號在jQuery中代表對jQuery對象的引用, "jQuery"是核心對象, 其中包含下列方法:

  1. jQuery( expression, context )   
  2. Returns: jQuery 

這個函數接收一個CSS選擇器的字符串,然后用這個字符串去匹配一組元素。

  1. jQuery( html, ownerDocument )   
  2. Returns: jQuery 

根據HTML原始字符串動態創建Dom元素.

  1. jQuery( elements )   
  2. Returns: jQuery 

將一個或多個Dom對象封裝jQuery函數功能(即封裝為jQuery包裝集)

  1. jQuery( callback )   
  2. Returns: jQuery 

Returns的類型為jQuery即表示返回的是jQuery包裝集.其中***個方法有些問題, 官方接口寫的是CSS選擇器, 但是實際上這個方法不僅僅支持CSS選擇器, 而是所有jQuery支持的選擇器, 有些甚至是jQuery自定義的選擇器(在CSS標準中不存在的選擇器),為了能讓大家理解的更清楚,我們將方法修改如下:

  1. jQuery( selector, context )   
  2. Returns: jQuery  

根據選擇器選取匹配的對象, 以jQuery包裝集的形式返回。context可以是Dom對象集合或jQuery包裝集,傳入則表示要從context中選擇匹配的對象,不傳入則表示范圍為文檔對象(即頁面全部對象)。上面這個方法就是我們選擇器使用的核心方法.可以用"$"代替jQuery讓語法更簡介, 比如下面兩句話的效果相同:

  1. //根據ID獲取jQuery包裝集   
  2. var jQueryObject = $("#testDiv");   
  3. //$是jQuery對象的引用:   
  4. var jQueryjQueryObject = jQuery("#testDiv"); 

接下來讓我們系統的學習jQuery選擇器。

#p#

jQuery選擇器全解

通俗的講, Selector選擇器就是"一個表示特殊語意的字符串",只要把選擇器字符串傳入上面的方法中就能夠選擇不同的Dom對象并且以jQuery包裝集的形式返回。

但是如何將jQuery選擇器分類讓我犯難. 因為書上的分類和jQuery官方的分類截然不同. ***我決定以實用為主, 暫時不去了解CSS 3選擇器標準, 而按照jQuery官方的分類進行講解。

jQuery的選擇器支持CSS 3選擇器標準. 下面是W3C***的CSS3選擇器標準:http://www.w3.org/TR/css3-selectors/。標準中的選擇器都可以在jQuery中使用.

jQuery選擇器按照功能主要分為"選擇"和"過濾". 并且是配合使用的. 可以同時使用組合成一個選擇器字符串. 主要的區別是"過濾"作用的選擇器是指定條件從前面匹配的內容中篩選, "過濾"選擇器也可以單獨使用, 表示從全部"*"中篩選. 比如:

  1. $(":[title]") 
  2.  

等同于:

  1. $("*:[title]") 
  2.  

而"選擇"功能的選擇器則不會有默認的范圍, 因為作用是"選擇"而不是"過濾",下面的選擇器分類中,  帶有"過濾器"的分類表示是"過濾"選擇器,  否則就是"選擇"功能的選擇器.jQuery選擇器分為如下幾類:

1. 基礎選擇器Basics

 基礎選擇器Basics

2.層次選擇器Hierarchy

層次選擇器Hierarchy

3.基本過濾器Basic Filters

基本過濾器Basic Filters

4. 內容過濾器Content Filters

內容過濾器Content Filters

5.可見性過濾器Visibility Filters

可見性過濾器Visibility Filters

6.屬性過濾器Attribute Filters

屬性過濾器Attribute Filters

7.子元素過濾器Child Filters

子元素過濾器Child Filters

8.表單選擇器Forms

表單選擇器Forms

9.表單過濾器Form Filters

表單過濾器Form Filters

【編輯推薦】

  1. jQuery選擇器深入分析:避免不必要的調用
  2. 淺析jQuery框架與構造對象
  3. 5種方法教你用jQuery重寫表單驗證
  4. 即刻提升jQuery性能的十個技巧
  5. 使用jQuery構建未來Web應用程序
責任編輯:王曉東 來源: Cnblogs
相關推薦

2011-04-26 15:07:48

jQuery

2011-06-16 15:57:25

Android

2009-02-27 13:48:00

Mdaemon郵件服務器

2012-06-12 09:43:11

jQuery

2016-11-24 12:07:42

Android萬能圓角ImageView

2010-12-27 16:01:45

jQuery選擇器

2010-07-20 10:11:32

jQuery選擇器Sizzle

2022-06-27 08:36:08

PythonLambda

2014-02-17 10:56:21

Hadoop

2022-11-30 13:13:41

節能減碳PUE

2009-12-03 18:13:36

PHP萬能密碼

2024-12-02 15:50:42

2020-06-16 08:32:00

人工智能技術機器學習

2022-11-21 09:57:18

網關系統

2022-06-23 18:10:15

多云

2013-12-02 14:22:14

jQuery選擇器

2015-08-26 13:49:28

數據中心

2024-12-09 09:25:30

2011-12-22 20:56:44

Android

2020-10-31 21:47:06

Python數據結構開發
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一级特黄色毛片 | 欧美日韩精品一区 | 成年视频在线观看福利资源 | 日韩看片 | 久久久久久久久91 | 97成人在线 | 久久免费精品 | 超碰在线影院 | 亚洲三级视频 | 在线观看视频一区 | 日韩一区二区三区视频在线观看 | 久久99久久久久 | 亚洲一区二区中文字幕在线观看 | 亚洲成人动漫在线观看 | 特级生活片 | 成年人在线视频 | 久久久激情视频 | 国产精品一区二区福利视频 | 国产国产精品 | japanhd美女动 | 91精品一区 | 罗宾被扒开腿做同人网站 | 日韩高清一区 | 一级黄色影片在线观看 | 天天看天天操 | 欧美一级在线免费 | 精品久久一区二区 | 国产一区在线看 | 国产精品久久久久久亚洲调教 | 日韩中文字幕在线播放 | 亚洲天天干| 人人做人人澡人人爽欧美 | www.国产日本 | 国产亚洲网站 | 国产婷婷精品av在线 | 国精产品一区二区三区 | 欧美性生活网 | 精品在线播放 | 区一区二在线观看 | 久久精品综合网 | 日韩视频在线一区 |