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...