jQuery選擇器是jQuery中最基礎(chǔ)的一個(gè)功能模塊,是我們?cè)谑褂胘Query提供的各種操作方法時(shí)必須掌握的基礎(chǔ)知識(shí)。下面我們來(lái)詳細(xì)講解一下jQuery選擇器。
//選擇器的基本語(yǔ)法 $(selector).action(); //例子 $("p").hide();
上述代碼中,$是一個(gè)jQuery對(duì)象,我們稱(chēng)之為“美元符號(hào)”,它是一個(gè)預(yù)定義的函數(shù),用于對(duì)象選擇器的初始化,jQuery選擇器通過(guò)它返回一個(gè)新的jQuery對(duì)象。在括號(hào)中的selector就是我們要選擇的元素,它可以是標(biāo)簽名、class、id等等。
//常見(jiàn)的選擇器 $("p") //選擇所有的p元素 $(".class") //選擇所有的class為class的元素 $("#id") //選擇所有的id為id的元素 $("p.intro") //選擇所有的p元素中class為intro的元素 $("p:first") //選擇第一個(gè)p元素 $("ul li:eq(2)") //選擇第三個(gè)ul中的li元素 $("a[target=_blank]") //選擇target屬性為_(kāi)blank的a元素
除了常見(jiàn)的選擇器以外,我們還可以使用類(lèi)似于CSS選擇器的方式選擇元素。
//選擇器的內(nèi)部機(jī)制(CSS選擇器) $("p:odd") //選擇所有的奇數(shù)p元素 $("div > p") //選擇所有的div里面的p元素 $("ul li:first-child") //選擇每個(gè)ul里面的第一個(gè)li元素 $("ul li:last-child") //選擇每個(gè)ul里面的最后一個(gè)li元素
除了上述常見(jiàn)的選擇器以外,jQuery還可以通過(guò)自定義選擇器來(lái)滿足各種需求。我們可以通過(guò)$.extend()方法來(lái)定義自己的選擇器。
// 自定義選擇器 $.extend($.expr[':'], { checked: function(elem) { return elem.checked === true; }, unchecked: function(elem) { return elem.checked !== true; } }); $('input:checked').length; //選擇所有被選中的input元素 $('input:unchecked').length; //選擇所有沒(méi)有被選中的input元素
在使用jQuery選擇器時(shí),我們應(yīng)該選擇最具體的元素,這樣可以提高代碼的性能。當(dāng)我們選擇到某個(gè)元素后,可以對(duì)這個(gè)元素進(jìn)行各種操作,如:修改、添加、刪除等等。
總的來(lái)說(shuō),jQuery選擇器是一個(gè)非常強(qiáng)大的工具,不僅可以方便地選擇元素,還可以結(jié)合其他操作進(jìn)行各種處理。在jQuery的世界中,選擇器是我們成功編寫(xiě)漂亮而高效代碼的基礎(chǔ)之一。