国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

jQuery選擇器_動力節點Java學院整理

2024-05-06 15:14:52
字體:
來源:轉載
供稿:網友

選擇器是jQuery的核心。一個選擇器寫出來類似$('#dom-id')

為什么jQuery要發明選擇器?回顧一下DOM操作中我們經常使用的代碼:

// 按ID查找:var a = document.getElementById('dom-id');// 按tag查找:var divs = document.getElementsByTagNames('div');// 查找<p class="red">:var ps = document.getElementsByTagNames('p');// 過濾出class="red":// TODO:// 查找<table class="green">里面的所有<tr>:var table = ...for (var i=0; i<table.children; i++) {  // TODO: 過濾出<tr>}

這些代碼實在太繁瑣了,并且,在層級關系中,例如,查找<table class="green">里面的所有<tr>,一層循環實際上是錯的,因為<table>的標準寫法是:

<table>  <tbody>    <tr>...</tr>    <tr>...</tr>  </tbody></table>

很多時候,需要遞歸查找所有子節點。

jQuery的選擇器就是幫助我們快速定位到一個或多個DOM節點。

按ID查找

如果某個DOM節點有id屬性,利用jQuery查找如下:

// 查找<div id="abc">:var div = $('#abc');

注意,#abc以#開頭。返回的對象是jQuery對象。

什么是jQuery對象?jQuery對象類似數組,它的每個元素都是一個引用了DOM節點的對象。

以上面的查找為例,如果id為abc的<div>存在,返回的jQuery對象如下:

[<div id="abc">...</div>]

如果id為abc的<div>不存在,返回的jQuery對象如下:

[]

總之jQuery的選擇器不會返回undefined或者null,這樣的好處是你不必在下一行判斷if (div === undefined)。

jQuery對象和DOM對象之間可以互相轉化:

var div = $('#abc'); // jQuery對象var divDom = div.get(0); // 假設存在div,獲取第1個DOM元素var another = $(divDom); // 重新把DOM包裝為jQuery對象

通常情況下你不需要獲取DOM對象,直接使用jQuery對象更加方便。如果你拿到了一個DOM對象,那可以簡單地調用$(aDomObject)把它變成jQuery對象,這樣就可以方便地使用jQuery的API了。

按tag查找

按tag查找只需要寫上tag名稱就可以了:

var ps = $('p'); // 返回所有<p>節點ps.length; // 數一數頁面有多少個<p>節點

按class查找

按class查找注意在class名稱前加一個.:

var a = $('.red'); // 所有節點包含`class="red"`都將返回// 例如:// <div class="red">...</div>// <p class="green red">...</p>

通常很多節點有多個class,我們可以查找同時包含red和green的節點:

var a = $('.red.green'); // 注意沒有空格!// 符合條件的節點:// <div class="red green">...</div>// <div class="blue green red">...</div>            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 客服| 江安县| 宣威市| 土默特左旗| 武平县| 枞阳县| 洮南市| 镇远县| 田阳县| 荥阳市| 壶关县| 武城县| 南雄市| 库车县| 娄烦县| 拜泉县| 大田县| 长治县| 梨树县| 唐河县| 吉安县| 吉隆县| 沧州市| 东宁县| 宜州市| 策勒县| 永顺县| 正蓝旗| 益阳市| 错那县| 永顺县| 荆门市| 神木县| 昌乐县| 乐东| 汽车| 梅河口市| 宜兰市| 上思县| 天长市| 綦江县|