jQuery起點教學之使用選擇器和事件
jQuery提供兩種方式來選擇html的elements:
第一種是用CSS和Xpath選擇器聯合起來形成一個字串來傳送到jQuery的構造器(如:$("div > ul a"));
第二種是用jQuery物件的幾個methods(方法)。這兩種方式還可以聯合起來混合使用。
為了測試這些選擇器,我們來試著在我們starterkit.html中選擇並修改第一個ordered list.
一開始,我們需要選擇這個list本身,這個list有一個ID叫做“orderedlist” ,通常的javascript寫法是document.getElementById("orderedlist").在jQuery中,我們這樣做:$(document).ready(function() {
$("#orderedlist").addClass("red");
});這裡將starterkit中的一個CSS樣式red附加到了orderedlist上(譯者Keel註:參考測試包中的css目錄下的core.css,其中定義了red樣式)。因此,在你刷新了starterkit.html後,你將會看到第一個有序列表(ordered list )背景色變成了紅色,而第二個有序列表沒有變化.
現在,讓我們添加一些新的樣式到list的子節點.$(document).ready(function() {
$("#orderedlist > li").addClass("blue");
});這樣,所有orderedlist中的li都附加了樣式"blue"。
現在我們再做個複雜一點的,當把滑鼠放在li物件上面和移開時進行樣式切換,但只在list的最後一個element上生效。 $(document).ready(function() {
$("#orderedlist li:last").hover(function() {
) {
$(this).removeClass("green");
});
});有大量的類似的CSS和XPath例子,更多的例子和清單可以在這裡找到。 (譯者Keel註:入門看此文,修行在個人,要想在入門之後懂更多,所以這段話的幾個鏈接遲早是要必看的!)
每一個onXXX事件都有效,如onclick,onchange,onsubmit等,都有jQuery等價表示方法(譯者Keel註:jQuery不喜歡onXXX,所以都改成了XXX,去掉了on)。其他的一些事件,如ready和hover,也提供了相應的方法。
你可以在Visual jQuery找到全部的事件列表,在Events欄目下.
用這些選擇器和事件你已經可以做很多的事情了,但這裡有一個更強的好東東! $(document).ready(function() {
$("#orderedlist").find("li").each(function(i) {
). + " BAM! " + i );
});
});
另一個經常碰到的任務是在沒有被jQuery覆蓋的DOM元素上call一些方法,想像一個在你用AJAX方式成功提交後的reset:$(document).ready(function() {
/ use this to reset a single form
$("#reset").click(function() {
);(譯者Keel註:這裡作者將form的id也寫成了form,原始檔有