jQuery學習筆記(二)之jQuery選擇器

2021-06-20 05:42:22 字數 3653 閱讀 8712

html頁面元素就一些html標籤(元素),和對應的html元素屬性組成,

屬性包括id,class,獲取css樣式屬性等,其中通過css樣式屬性獲取jquery,這裡的css樣式屬性就可以稱為jquery的css選擇器

另外jquery還支援xpath選擇,其實跟css差不多。

下面就這對各種常用的選擇器怎麼使用做個說明:

1、id選擇器

如:頁面上有這段**:

如果我要獲取

這個頁面元素,我可以這樣:

var jqobj = $('#mydiv') ;

這樣我就獲取這個元素並返回jquery物件,接下來我們就可以使用jquery的函式操作這個jqobj,如

$('#mydiv').hide();

或者jqobj.hide();//hide函式是將id為mydiv的div元素隱藏起來,就變成了

2、類選擇器(html元素的class屬性)

如頁面上有這段**:

總共3個p元素。

$('.pp');:這樣就獲取到所有的p元素了。

在學習筆記(一)中曾經說,jquery通過建構函式獲取的jquery物件是乙個集合(網頁html元素的集合),這個很重要。

現在$('.pp')就是乙個html元素的集合,不過他是乙個jquery物件,要使用jquery的api去操作。

$('.pp').addclass('newclass');//這樣操作就是對所有的元素都進行addclass操作

則變成了

很多時候我們要操作不是對所有的元素都進行addclass操作,如這對第一和第三個p元素進行addclass操作:

$('.pp').each(function(index,item)

});3、元素(標籤)選擇器

如:$('p')就選擇了所有的p元素

4、縮小範圍的選擇器應用

如在實際應用中,我們只知道某個元素的id,class或者標籤(這能確定這個元素)

那麼我們就能通過這個慢慢縮小範圍找到我們想要的元素:

如果我們需要獲取到嘻嘻

這個元素

我們就可以先定位到其父輩,然後由父輩往下搜尋:

$('div#div2  ul li');這樣就獲取到所有的li元素:嘻嘻嗚嗚

$('div#div2  ul li').eq(0);就獲取到了嘻嘻

等同於$('div#div2  ul li:first');

等同於$('div#div2  ul li:eq(0)');

其中:first,:eq()是偽類選擇器,而eq()方法是jquery為實現偽類一樣效果提供的方法

5、偽類選擇器

1)通過建構函式獲取的jquery物件是乙個集合(網頁html元素的集合),對集合中的某個元素進行快速定位:

$("p:first"); 第乙個 元素

$('p:last'); 最後乙個元素

$('p:even'); 所有偶數的元素

$('p:odd'); 所有奇數的元素

$('p:eq(1)');  第二個 元素,下標從0開始

$('p:gt(1)');  

下標大於1的所有

元素,下標從0開始

$('p:lt(1)');  

下標小於1的所有 元素,下標從0開始

$("p:not('class=newclass')"); 不包括class=『newclass』的元素

$('p:first-child'); 所有元素的第乙個子元素的集合

2)表單元素快速定位偽類選擇器

$(':input'); 所有的元素

$(':text'); 所有type="text"的元素

$(':password'); 所有type="password"的元素

$(':radio'); 所有type="radio的元素

$(':checkbox'); 所有type=checkbox的元素

$(':submit'); 所有type="submit'「的元素

$(':reset'); 所有type="reset「的元素

$(':buttom'); 所有type="buttom「的元素

$(':image'

); 所有type="image「的元素

$(':file'); 所有type="

file「的元素

3)屬性值偽類選擇器

$('p[class]'); 所有帶有class屬性的元素  如:

$('p[class="newclass"]'); 所class屬性值為newclass的元素

$('p[class!="newclass"]'); 所class屬性值不為newclass的元素

$('p[class^="new"]'); 所class屬性值以new開頭的元素

$('p[class$="new"]'); 所class屬性值以new結尾的元素

4)標識元素狀態的偽類選擇器

$('div:visible'); 所有可見的div元素

$('div:hidden'); 所有隱藏的div元素

$('a:enabled'); 所有可以使用的a元素

$('a:disabled'); 所有不可用的a元素

$('select'),find(':selected'); 所有已選中的下拉框select

$(':animated'); 所有所有動畫元素

5)其他偽類選擇器

$("contains('www')"); 包含文字www的所有元素

$(':header') 所有標題元素-

$(':empty'); 無子節點的元素

$("li:has('ul')").css('backgroup-color','red'); 子孫後代中有ui的li元素的集合

6、偽類方法(jquery為實現偽類一樣效果提供的方法)

1)empty() 從dom中刪除所有匹配元素的子節點

如$('p').empty(); 所有元素的子節點都從dom中刪除

2)eq() 等效於偽類選擇器:eq()  如$("li").eq(2).css('backgroud-color','red');

3)   end()  看例子:$("li").eq(2).css('backgroud-color','red').end().eq(1).css('width','800');

等同於   $("li").eq(2).css('backgroud-color','red'); $("li").eq(1).css('width','800');

其中eq()有可能使用find(),filter(),not()過濾,縮小範圍,然後通過end(),再返回大範圍

補充:filter() 去除符合條件字串的元素 如 $("li").filter(':even').css('backgroud-color','red'); 

even:偶數,就是去除下標為偶數的元素,也就是選擇奇數的元素

find()  與filter()相反,篩選符合條件字串的元素,$("li").find(':even').css('backgroud-color','red'); 

就是選擇偶數元素

4)first()  如:$("li").first().css('backgroud-color','red'); 

5)  $("li").has('ul').css('backgroup-color','red'); 子孫後代中有ui的li元素的集合

jQuery學習筆記二

再了解取值付值的方法,更改屬性的方法 實驗的結果是 note不可寫 重新整理時,只彈出了 我是乙個大好人 的提示框,原先頁面上的ddddd沒有載入進來 還有script如果放在前面的話,也是上頁面最上面的地方,提示框也不會彈出。並且note框也是可寫的 為啥會這樣,我只能暫時理解為,它是從上到下執行...

jQuery 學習筆記(二 )

1.控制項的顯示與隱藏 a2.jquery 滑動 1.根據元件id滑動選擇a 2.根據class 滑動 2.1 新增css樣式屬性 2.2 引用樣式選擇a 2.3function fun1 2.4 停止動畫 stop bottom stop 3.jquery 動畫 tip 要實現動畫首先把元素的 c...

JQuery學習筆記(二)

一 滑動 selector slidedown speed,callback 下滑 selector slideup speed,callback 上滑 selector slidetoggle speed,callback 用於上滑,下滑 二 animate 動畫 selector animate...