1.文件載入完成執行函式
$(document).ready(function(){
alert("開始了");
});
2.新增/刪除CSS類
$("#some-id").addClass("NewClassName");
$("#some-id").removeClass("ClassNameToBeRemoved");
3.選擇符 利用了CSS和Xpath(XML Path Language)選擇符的能力,以及jQuery獨有的選擇符
3.1常用的:
1.根據標籤名: $('p') 選擇文件中的所有段落
2. 根據ID: $("#some-id")
3.類: $('.some-class')
3.2使用CSS選擇符:
$("#some-id > li") 選擇特定id下的所有子li元素
$("#some-id li:not(.horizontal)") 偽類選擇,特定id下所有沒有.horizontal 類的li元素
3.3使用XPath選擇符:
屬性選擇:$("a[@title]") 選擇所有帶title屬性的連結
$("div[ol]") 選擇包含一個ol元素的所有div元素
$('a[@href^="mailto:%22]') 選擇所有帶href屬性[@href]且該屬性值以mailto開頭^="mailto"(^標識字串開始,$標識字串結尾,*表示字串中任意位置)
$('a[@href$=".pdf"]') 選擇帶有href屬性且該屬性值以.pdf結尾的所有連結
$('a[@href*="mysite.com"]') 選擇mysite.com出現在href任意位置(包含mysite.com)的所有連結
3.4JQuery自定義選擇符(過濾器,從已選擇的結果集中過濾出符合某一條件的所有元素),與CSS的偽類選擇符相似,使用“:”開頭
1.$('div.horizontal:eq(1)') 選擇帶有類horizontal的div集合中的第2個項
$('div:nth-child(1)') 選擇作為其父元素第1個子元素的所有div
2.自定義選擇符:odd和:even選擇奇偶行
$('tr:odd').addClass('odd'); //過濾選擇結果集中的奇數元素
$('tr:even').addClass('even'); //過濾選擇結果集中的偶數元素
3.自定義選擇符:contains()
$('td:contains("Henry")') 選擇包含Henry字串的所有表格
3.5JQuery選擇函式
1.$('#some-id').parent() 選擇特定元素的父元素
2.$('#some-id').next() 選擇特定元素最近的下一個同級元素
3.$('#some-id').siblings() 選擇特定元素的所有同級元素
4.$('#some-id').find('.some-class') 選擇特定元素下所有包含特定類的元素
5.$('#some-id').find('td').not(':contains("Henry")') 選擇特定元素下表格內容不包含Henry的所有元素
5.$('#some-id').find('td').not(':contains("Henry")').end() .end()表示回到最後一次.find()的元素處
3.6訪問DOM元素,使用get()方法從選擇後的JQuery物件中獲得,去掉JQuery的包裝
var myTag = $('#some-id').get(0).tagName;
var myTag = $('#some-id')[0].tagName; //與上面的等效
4.事件(都是給某一元素繫結事件)
4.1繫結事件
$("#some-id").bind("click", function(){ })
$("#some-id").unbind("click", bindedFunctionName); //移除已繫結的事件,前提是繫結的函式有名稱(不是匿名函式)
$("#some-id").click(function(){ })
4.2複合函式繫結事件
$("#some-id").toggle(function(){ } ,function(){ }); //交替執行
$(“#some-id”).toggleClass("hidden"); // 新增/刪除類交替進行
$("#some-id").hover(function(){ }, function(){ }); //滑鼠進入元素時執行第一個函式,離開元素時執行第二個函式
$("#some-id").one("click", functionName); //只需觸發一次,隨後便立即解除繫結
4.3模仿使用者觸發某一事件
$("#some-id").trigger("click"); //觸發特定元素的click事件
5.為元素新增效果
5.1讀取或設定CSS樣式屬性
$("#some-id").css("property") //讀取樣式值
$('#some-id').css('property', 'value') //設定一個樣式值
$('#some-id').css({property1: 'value1', property2: 'value2'}) //設定多個樣式屬性
5.2改變字型大小
$(document).ready({
$('#button-id').click(function(){
var currentSize = $('#text-id').css('fontSize'); //獲取字型大小,如30px
var num = parseFloat(currentSize, 10); //將值轉為浮點數,.parseFloat( , )為javascript內建函式,這裡是轉為10進位制的浮點數
var unit = currentSize.slice(-2); //獲取單位名稱,如px,.slice()是javascript內建函式,獲取字串指從定位置開始的子字串,-2表示倒數兩個字元
num *= 1.5;
$('text-id').css('fontSize', num + unit); //設定字型大小樣式
});
});
5.3隱藏和顯示
$('#some-id').show(); //無效果,會自動記錄原來的display屬性值(如:block, inline),再回復display值
$('#some-id').hide(); //無效果,等效於:$('#some-id').css('display', 'none'); 隱藏元素,不保留物理位置
大小、透明度逐漸變化的顯示或隱藏
$('#some-id').show('slow'); //指定顯示速度,在指定時間內元素的高、寬、不透明度逐漸增加到屬性值,有:slow是0.6秒,normal是0.4秒,fast是0.2秒,或者直接填入毫秒數
$('#some-id').hide(800); //與.show()指定速度顯示一樣,指定時間內高、寬、不透明度逐漸減小到0
淡入淡出
$('some-id').fadeIn('slow'); //指定時間內不透明度屬性值由0增加到1
$('some-id').fadeOut('slow'); //指定時間內不透明度值由1減小到0
5.4構建具有動畫效果的show
主要呼叫.animate()方法,其有4個引數:包含樣式屬性及值的對映;可選的速度引數;可選的緩動型別;可選的回撥函式;
1.併發顯示多個效果
$('#some-id').animate({height: 'show', width: 'show', opacity: 'show'}, 'slow', function(){ alert('動畫顯示元素');});
$('div .button').animate({left:600, height:44}, 'slow'); //水平位置從0移動到600,高度由0增加到44
2.排隊顯示多個效果,級聯多個.animate(),一個效果顯示完了再顯示下一個效果
$('#some-id').animate({left:600}, 'slow').animate({height: 44}, 'slow');
6DOM操作
6.1屬性操作
$('#some-id').attr('property'); //獲取屬性
$('#some-id').attr('property','value'); //設定屬性
$('#some-id').attr({'property1': 'value1', 'property2': 'value2'}); //設定多個屬性
修改一個段落中所有連結,並給每個連結附上新的id號
$('div p .content a').each(function(index){
$(this).attr({
'rel': 'external',
'id': 'link_' + index
});
});
// ********* JQuery的.each()類似一個迭代器,給其傳遞的引數index類似一個計數器 *********
6.2插入新元素
1.將元素插入到其他元素前面:.insertBefore()和.before()
2.將元素插入到其他元素後面:.insertAfter()和after()
3.將元素插入到其他元素內部或後面(相當於追加一個元素):appendTo()和append()
4.將元素插入到其他元素內部或前面(相當於追加一個元素):prependTo()和prepend()
6.3包裝元素,將元素包裝到其他元素中 .wrap();
$('#some-id').wrap('<li></li>'); // 將某一特定元素包裝到li中,即在特定元素外圍新增一個包圍元素
6.4複製元素 .clone()
1.$('#some-id').clone().appendTo($('body'));
2.複製深度,當傳入false引數時,只複製匹配上的元素,其內部的其他元素不復制
$('#some-id').clone(false)
注意:.clone()方法不會複製元素中的事件
6.5移除匹配元素中的元素,類似清空元素
$('#some-id').empty();
6.6從DOM中移除匹配的元素及其後代元素
$('#some-id').remove();
##############################################################################################
Attribute:
$(”p”).addClass(css中定義的樣式型別); 給某個元素新增樣式
$(”img”).attr({src:”test.jpg”,alt:”test Image”}); 給某個元素新增屬性/值,引數是map
$(”img”).attr(”src”,”test.jpg”); 給某個元素新增屬性/值
$(”img”).attr(”title”, function() { return this.src }); 給某個元素新增屬性/值
$(”元素名稱”).html(); 獲得該元素內的內容(元素,文字等)
$(”元素名稱”).html(”<b>new stuff</b>”); 給某元素設定內容
$(”元素名稱”).removeAttr(”屬性名稱”) 給某元素刪除指定的屬性以及該屬性的值
$(”元素名稱”).removeClass(”class”) 給某元素刪除指定的樣式
$(”元素名稱”).text(); 獲得該元素的文字
$(”元素名稱”).text(value); 設定該元素的文字值為value
$(”元素名稱”).toggleClass(class) 當元素存在引數中的樣式的時候取消,如果不存在就設定此樣式
$(”input元素名稱”).val(); 獲取input元素的值
$(”input元素名稱”).val(value); 設定input元素的值為value
Manipulation:
$(”元素名稱”).after(content); 在匹配元素後面新增內容
$(”元素名稱”).append(content); 將content作為元素的內容插入到該元素的後面
$(”元素名稱”).appendTo(content); 在content後接元素
$(”元素名稱”).before(content); 與after方法相反
$(”元素名稱”).clone(布林表示式) 當布林表示式為真時,克隆元素(無參時,當作true處理)
$(”元素名稱”).empty() 將該元素的內容設定為空
$(”元素名稱”).insertAfter(content); 將該元素插入到content之後
$(”元素名稱”).insertBefore(content); 將該元素插入到content之前
$(”元素”).prepend(content); 將content作為該元素的一部分,放到該元素的最前面
$(”元素”).prependTo(content); 將該元素作為content的一部分,放content的最前面
$(”元素”).remove(); 刪除所有的指定元素
$(”元素”).remove(”exp”); 刪除所有含有exp的元素
$(”元素”).wrap(”html”); 用html來包圍該元素
$(”元素”).wrap(element); 用element來包圍該元素
Traversing:
add(expr)
add(html)
add(elements)
children(expr)
contains(str)
end()
filter(expression)
filter(filter)
find(expr)
is(expr)
next(expr)
not(el)
not(expr)
not(elems)
parent(expr)
parents(expr)
prev(expr)
siblings(expr)
Core:
$(html).appendTo(”body”) 相當於在body中寫了一段html程式碼
$(elems) 獲得DOM上的某個元素
$(function(){……..}); 執行一個函式
$(”div > p”).css(”border”, “1px solid gray”); 查詢所有div的子節點p,新增樣式
$(”input:radio”, document.forms[0]) 在當前頁面的第一個表單中查詢所有的單選按鈕
$.extend(prop) prop是一個jquery物件,
舉例:
jQuery.extend({
min: function(a, b) { return a < b ? a : b; },
max: function(a, b) { return a > b ? a : b; }
});
jQuery( expression, [context] ) —$( expression, [context]); 在預設情況下,$()查詢的是當前HTML文件中的DOM元素。
each( callback ) 以每一個匹配的元素作為上下文來執行一個函式
舉例:1
$(”span”).click(function){
$(”li”).each(function(){
$(this).toggleClass(”example”);
});
});
舉例:2
$(”button”).click(function () {
$(”div”).each(function (index, domEle) {
// domEle == this
$(domEle).css(”backgroundColor”, “yellow”);
if ($(this).is(”#stop”)) {
$(”span”).text(”Stopped at div index #” + index);
return false;
}
});
});
jQuery Event:
ready(fn); $(document).ready()注意在body中沒有onload事件,否則該函式不能執行。在每個頁面中可以
有很多個函式被載入執行,按照fn的順序來執行。
bind( type, [data], fn ) 為每一個匹配元素的特定事件(像click)繫結一個或多個事件處理器函式。可能的事件屬性有:blur, focus, load, resize, scroll, unload, click, dblclick, mousedown, mouseup, mousemove,
mouseover, mouseout, mouseenter, mouseleave, change, select, submit, keydown, keypress,
keyup, error
one( type, [data], fn ) 為每一個匹配元素的特定事件(像click)繫結一個或多個事件處理器函式。在每個對
象上,這個事件處理函式只會被執行一次。其他規則與bind()函式相同。
trigger( type, [data] ) 在每一個匹配的元素上觸發某類事件。
triggerHandler( type, [data] ) 這一特定方法會觸發一個元素上特定的事件(指定一個事件型別),同時取消瀏覽器對此事件的預設行動
unbind( [type], [data] ) 反繫結,從每一個匹配的元素中刪除繫結的事件。
$(”p”).unbind() 移除所有段落上的所有繫結的事件
$(”p”).unbind( “click” ) 移除所有段落上的click事件
hover( over, out ) over,out都是方法, 當滑鼠移動到一個匹配的元素上面時,會觸發指定的第一個函式。當滑鼠移出這個元素時,會觸發指定的第二個函式。
$(”p”).hover(function(){
$(this).addClass(”over”);
},
function(){
$(this).addClass(”out”);
}
);
toggle( fn, fn ) 如果點選了一個匹配的元素,則觸發指定的第一個函式,當再次點選同一元素時,則觸發指定的第二個函式。
$(”p”).toggle(function(){
$(this).addClass(”selected”);
},
function(){
$(this).removeClass(”selected”);
}
);
元素事件列表說明
注:不帶引數的函式,其引數為可選的 fn。jQuery不支援form元素的reset事件。
事件 描述 支援元素或物件
blur( ) 元素失去焦點 a, input, textarea, button, select, label, map, area
change( ) 使用者改變域的內容 input, textarea, select
click( ) 滑鼠點選某個物件 幾乎所有元素
dblclick( ) 滑鼠雙擊某個物件 幾乎所有元素
error( ) 當載入文件或影象時發生某個錯誤 window, img
focus( ) 元素獲得焦點 a, input, textarea, button, select, label, map, area
keydown( ) 某個鍵盤的鍵被按下 幾乎所有元素
keypress( ) 某個鍵盤的鍵被按下或按住 幾乎所有元素
keyup( ) 某個鍵盤的鍵被鬆開 幾乎所有元素
load( fn ) 某個頁面或影象被完成載入 window, img
mousedown( fn ) 某個滑鼠按鍵被按下 幾乎所有元素
mousemove( fn ) 滑鼠被移動 幾乎所有元素
mouseout( fn ) 滑鼠從某元素移開 幾乎所有元素
mouseover( fn ) 滑鼠被移到某元素之上 幾乎所有元素
mouseup( fn ) 某個滑鼠按鍵被鬆開 幾乎所有元素
resize( fn ) 視窗或框架被調整尺寸 window, iframe, frame
scroll( fn ) 滾動文件的可視部分時 window
select( ) 文字被選定 document, input, textarea
submit( ) 提交按鈕被點選 form
unload( fn ) 使用者退出頁面 window
JQuery Ajax 方法說明:
load( url, [data], [callback] ) 裝入一個遠端HTML內容到一個DOM結點。
$(”#feeds”).load(”feeds.html”); 將feeds.html檔案載入到id為feeds的div中
$(”#feeds”).load(”feeds.php”, {limit: 25}, function(){
alert(”The last 25 entries in the feed have been loaded”);
});
jQuery.get( url, [data], [callback] ) 使用GET請求一個頁面。
$.get(”test.cgi”, { name: “John”, time: “2pm” }, function(data){
alert(”Data Loaded: ” + data);
});
jQuery.getJSON( url, [data], [callback] ) 使用GET請求JSON資料。
$.getJSON(”test.js”, { name: “John”, time: “2pm” }, function(json){
alert(”JSON Data: ” + json.users[3].name);
});
jQuery.getScript( url, [callback] ) 使用GET請求javascript檔案並執行。
$.getScript(”test.js”, function(){
alert(”Script loaded and executed.”);
});
jQuery.post( url, [data], [callback], [type] ) 使用POST請求一個頁面。
ajaxComplete( callback ) 當一個AJAX請求結束後,執行一個函式。這是一個Ajax事件
$(”#msg”).ajaxComplete(function(request, settings){
$(this).append(”<li>Request Complete.</li>”);
});
ajaxError( callback ) 當一個AJAX請求失敗後,執行一個函式。這是一個Ajax事件
$(”#msg”).ajaxError(function(request, settings){
$(this).append(”<li>Error requesting page ” + settings.url + “</li>”);
});
對我有用[6]丟個板磚[0]引用舉報管理TOP 回覆次數:358
fly_to_the_winds
(人生若只如初見,等閒變卻故人心)
等 級:
#1樓 得分:0回覆於:2010-02-01 16:27:19
JScript code
ajaxSend( callback ) 在一個AJAX請求傳送時,執行一個函式。這是一個Ajax事件
$(”#msg”).ajaxSend(function(evt, request, settings){
$(this).append(”<li<Starting request at ” + settings.url
+ “</li<”);
});
ajaxStart( callback ) 在一個AJAX請求開始但還沒有啟用時,執行一個函式。這是一個Ajax事件
當AJAX請求開始(並還沒有啟用時)顯示loading資訊
$(”#loading”).ajaxStart(function(){
$(this).show();
});
ajaxStop( callback ) 當所有的AJAX都停止時,執行一個函式。這是一個Ajax事件
當所有AJAX請求都停止時,隱藏loading資訊。
$(”#loading”).ajaxStop(function(){
$(this).hide();
});
ajaxSuccess( callback ) 當一個AJAX請求成功完成後,執行一個函式。這是一個Ajax事件
當AJAX請求成功完成時,顯示資訊。
$(”#msg”).ajaxSuccess(function(evt, request, settings){
$(this).append(”<li>Successful Request!</li>”);
});
jQuery.ajaxSetup( options ) 為所有的AJAX請求進行全域性設定。檢視$.ajax函式取得所有選項資訊。
設定預設的全域性AJAX請求選項。
$.ajaxSetup({
url: “/xmlhttp/”,
global: false,
type: “POST”
});
$.ajax({ data: myData });
serialize( ) 以名稱和值的方式連線一組input元素。實現了正確表單元素序列
function showValues() {
var str = $(”form”).serialize();
$(”#results”).text(str);
}
$(”:checkbox, :radio”).click(showValues);
$(”select”).change(showValues);
showValues();
serializeArray( ) 連線所有的表單和表單元素(類似於.serialize()方法),但是返回一個JSON資料格式。
從form中取得一組值,顯示出來
function showValues() {
var fields = $(”:input”).serializeArray();
alert(fields);
$(”#results”).empty();
jQuery.each(fields, function(i, field){
$(”#results”).append(field.value + ” “);
});
}
$(”:checkbox, :radio”).click(showValues);
$(”select”).change(showValues);
showValues();
JQuery Effects 方法說明
show( ) 顯示隱藏的匹配元素。
show( speed, [callback] ) 以優雅的動畫顯示所有匹配的元素,並在顯示完成後可選地觸發一個回撥函式。
hide( ) 隱藏所有的匹配元素。
hide( speed, [callback] ) 以優雅的動畫隱藏所有匹配的元素,並在顯示完成後可選地觸發一個回撥函式
toggle( ) 切換元素的可見狀態。如果元素是可見的,切換為隱藏的;如果元素是隱藏的,
切換為可見的。
slideDown( speed, [callback] ) 通過高度變化(向下增大)來動態地顯示所有匹配的元素,在顯示完成後可選
地觸發一個回撥函式。這個動畫效果只調整元素的高度,可以使匹配的元素以
“滑動”的方式顯示出來。
slideUp( speed, [callback] ) 通過高度變化(向上減小)來動態地隱藏所有匹配的元素,在隱藏完成後可選地
觸發一個回撥函式。這個動畫效果只調整元素的高度,可以使匹配的元素以”滑動”
的方式隱藏起來。
slideToggle( speed, [callback] ) 通過高度變化來切換所有匹配元素的可見性,並在切換完成後可選地觸發一個回
調函式。 這個動畫效果只調整元素的高度,可以使匹配的元素以”滑動”的方式隱
藏或顯示。
fadeIn( speed, [callback] ) 通過不透明度的變化來實現所有匹配元素的淡入效果,並在動畫完成後可選地觸
發一個回撥函式。 這個動畫只調整元素的不透明度,也就是說所有匹配的元素的
高度和寬度不會發生變化。
fadeOut( speed, [callback] ) 通過不透明度的變化來實現所有匹配元素的淡出效果,並在動畫完成後可選地觸
發一個回撥函式。 這個動畫只調整元素的不透明度,也就是說所有匹配的元素的
高度和寬度不會發生變化。
fadeTo( speed, opacity, [callback] ) 把所有匹配元素的不透明度以漸進方式調整到指定的不透明度,並在動畫完成
後可選地觸發一個回撥函式。 這個動畫只調整元素的不透明度,也就是說所
有匹配的元素的高度和寬度不會發生變化。
stop( ) 停止所有匹配元素當前正在執行的動畫。如果有動畫處於佇列當中,他們就會立即開始。
queue( ) 取得第一個匹配元素的動畫序列的引用(返回一個內容為函式的陣列)
queue( callback ) 在每一個匹配元素的事件序列的末尾新增一個可執行函式,作為此元素的事件函式
queue( queue ) 以一個新的動畫序列代替所有匹配元素的原動畫序列
dequeue( ) 執行並移除動畫序列前端的動畫
animate( params, [duration], [easing], [callback] ) 用於建立自定義動畫的函式。
animate( params, options ) 建立自定義動畫的另一個方法。作用同上。
JQuery Traversing 方法說明
eq( index ) 從匹配的元素集合中取得一個指定位置的元素,index從0開始
filter( expr ) 返回與指定表示式匹配的元素集合,可以使用”,”號分割多個expr,用於實現多個條件篩選
filter( fn ) 利用一個特殊的函式來作為篩選條件移除集合中不匹配的元素。
is( expr ) 用一個表示式來檢查當前選擇的元素集合,如果其中至少有一個元素符合這個給定的
表示式就返回true。
map( callback ) 將jQuery物件中的一組元素利用callback方法轉換其值,然後新增到一個jQuery陣列中。
not( expr ) 從匹配的元素集合中刪除與指定的表示式匹配的元素。
slice( start, [end] ) 從匹配元素集合中取得一個子集,和內建的陣列的slice方法相同。
add( expr ) 把與表示式匹配的元素新增到jQuery物件中。
children( [expr] ) 取得一個包含匹配的元素集合中每一個元素的所有子元素的元素集合。可選的過濾器
將使這個方法只匹配符合的元素(只包括元素節點,不包括文字節點)。
contents( ) 取得一個包含匹配的元素集合中每一個元素的所有子孫節點的集合(只包括元素節點,不
包括文字節點),如果元素為iframe,則取得其中的文件元素
find( expr ) 搜尋所有與指定表示式匹配的元素。
next( [expr] ) 取得一個包含匹配的元素集合中每一個元素緊鄰的後面同輩元素的元素集合。
nextAll( [expr] ) 取得一個包含匹配的元素集合中每一個元素所有的後面同輩元素的元素集合
parent( [expr] ) 取得一個包含著所有匹配元素的唯一父元素的元素集合。
parents( [expr] ) 取得一個包含著所有匹配元素的唯一祖先元素的元素集合(不包含根元素)。
prev( [expr] ) 取得一個包含匹配的元素集合中每一個元素緊鄰的前一個同輩元素的元素集合。
prevAll( [expr] ) 取得一個包含匹配的元素集合中每一個元素的之前所有同輩元素的元素集合。
siblings( [expr] ) 取得一個包含匹配的元素集合中每一個元素的所有同輩元素的元素集合。
andSelf( ) 將前一個匹配的元素集合新增到當前的集合中
取得所有div元素和其中的p元素,新增border類屬性。取得所有div元素中的p元素,
新增background類屬性
$(”div”).find(”p”).andSelf().addClass(”border”);
$(”div”).find(”p”).addClass(”background”);
end( ) 結束當前的操作,回到當前操作的前一個操作
找到所有p元素其中的span元素集合,然後返回p元素集合,新增css屬性
$(”p”).find(”span”).end().css(”border”, “2px red solid”);
JQuery Selectors 方法說明
基本選擇器
$(”#myDiv”) 匹配唯一的具有此id值的元素
$(”div”) 匹配指定名稱的所有元素
$(”.myClass”) 匹配具有此class樣式值的所有元素
$(”*”) 匹配所有元素
$(”div,span,p.myClass”) 聯合所有匹配的選擇器
層疊選擇器
$(”form input”) 後代選擇器,選擇ancestor的所有子孫節點
$(”#main > *”) 子選擇器,選擇parent的所有子節點
$(”label + input”) 臨選擇器,選擇prev的下一個臨節點
$(”#prev ~ div”) 同胞選擇器,選擇prev的所有同胞節點
基本過濾選擇器
$(”tr:first”) 匹配第一個選擇的元素
$(”tr:last”) 匹配最後一個選擇的元素
$(”input:not(:checked) + span”)從原元素集合中過濾掉匹配selector的所有元素(這裡有是一個臨選擇器)
$(”tr:even”) 匹配集合中偶數位置的所有元素(從0開始)
$(”tr:odd”) 匹配集合中奇數位置的所有元素(從0開始)
$(”td:eq(2)”) 匹配集合中指定位置的元素(從0開始)
$(”td:gt(4)”) 匹配集合中指定位置之後的所有元素(從0開始)
$(”td:gl(4)”) 匹配集合中指定位置之前的所有元素(從0開始)
$(”:header”) 匹配所有標題
$(”div:animated”) 匹配所有正在執行動畫的所有元素
內容過濾選擇器
$(”div:contains(’John’)”) 匹配含有指定文字的所有元素
$(”td:empty”) 匹配所有空元素(只含有文字的元素不算空元素)
$(”div:has(p)”) 從原元素集合中再次匹配所有至少含有一個selector的所有元素
$(”td:parent”) 匹配所有不為空的元素(含有文字的元素也算)
$(”div:hidden”) 匹配所有隱藏的元素,也包括表單的隱藏域
$(”div:visible”) 匹配所有可見的元素
屬性過濾選擇器
$(”div[id]”) 匹配所有具有指定屬性的元素
$(”input[name=’newsletter’]”) 匹配所有具有指定屬性值的元素
$(”input[name!=’newsletter’]”) 匹配所有不具有指定屬性值的元素
$(”input[name^=’news’]”) 匹配所有指定屬性值以value開頭的元素
$(”input[name$=’letter’]”) 匹配所有指定屬性值以value結尾的元素
$(”input[name*=’man’]”) 匹配所有指定屬性值含有value字元的元素
$(”input[id][name$=’man’]”) 匹配同時符合多個選擇器的所有元素
子元素過濾選擇器
$(”ul li:nth-child(2)”),
$(”ul li:nth-child(odd)”), 匹配父元素的第n個子元素
$(”ul li:nth-child(3n + 1)”)
$(”div span:first-child”) 匹配父元素的第1個子元素
$(”div span:last-child”) 匹配父元素的最後1個子元素
$(”div button:only-child”) 匹配父元素的唯一1個子元素
表單元素選擇器
$(”:input”) 匹配所有的表單輸入元素,包括所有型別的input, textarea, select 和 button
$(”:text”) 匹配所有型別為text的input元素
$(”:password”) 匹配所有型別為password的input元素
$(”:radio”) 匹配所有型別為radio的input元素
$(”:checkbox”) 匹配所有型別為checkbox的input元素
$(”:submit”) 匹配所有型別為submit的input元素
$(”:image”) 匹配所有型別為image的input元素
$(”:reset”) 匹配所有型別為reset的input元素
$(”:button”) 匹配所有型別為button的input元素
$(”:file”) 匹配所有型別為file的input元素
$(”:hidden”) 匹配所有型別為hidden的input元素或表單的隱藏域
表單元素過濾選擇器
$(”:enabled”) 匹配所有可操作的表單元素
$(”:disabled”) 匹配所有不可操作的表單元素
$(”:checked”) 匹配所有已點選的元素
$(”select option:selected”) 匹配所有已選擇的元素
JQuery CSS 方法說明
css( name ) 訪問第一個匹配元素的樣式屬性。
css( properties ) 把一個”名/值對”物件設定為所有匹配元素的樣式屬性。
$(”p”).hover(function () {
$(this).css({ backgroundColor:”yellow”, fontWeight:”bolder” });
}, function () {
var cssObj = {
backgroundColor: “#ddd”,
fontWeight: “”,
color: “rgb(0,40,244)”
}
$(this).css(cssObj);
});
css( name, value ) 在所有匹配的元素中,設定一個樣式屬性的值。
offset( ) 取得匹配的第一個元素相對於當前可視視窗的位置。返回的物件有2個屬性,
top和left,屬性值為整數。這個函式只能用於可見元素。
var p = $(”p:last”);
var offset = p.offset();
p.html( “left: ” + offset.left + “, top: ” + offset.top );
width( ) 取得當前第一匹配的元素的寬度值,
width( val ) 為每個匹配的元素設定指定的寬度值。
height( ) 取得當前第一匹配的元素的高度值,
height( val ) 為每個匹配的元素設定指定的高度值。
JQuery Utilities 方法說明
jQuery.browser
.msie 表示ie
jQuery.browser.version 讀取使用者瀏覽器的版本資訊
jQuery.boxModel 檢測使用者瀏覽器針對當前頁的顯示是否基於w3c CSS的盒模型
jQuery.isFunction( obj ) 檢測傳遞的引數是否為function
function stub() { }
var objs = [
function () {},
{ x:15, y:20 },
null,
stub,
“function”
];
jQuery.each(objs, function (i) {
var isFunc = jQuery.isFunction(objs[i]);
$(”span:eq( ” + i + “)”).text(isFunc);
});
jQuery.trim( str ) 清除字串兩端的空格,使用正規表示式來清除給定字元兩端的空格
jQuery.each( object, callback ) 一個通用的迭代器,可以用來無縫迭代物件和陣列
jQuery.extend( target, object1, [objectN] ) 擴充套件一個物件,修改原來的物件並返回,這是一個強大的實現繼承的
工具,這種繼承是採用傳值的方法來實現的,而不是JavaScript中的
原型鏈方式。
合併settings和options物件,返回修改後的settings物件
var settings = { validate: false, limit: 5, name: “foo” };
var options = { validate: true, name: “bar” };
jQuery.extend(settings, options);
合併defaults和options物件,defaults物件並沒有被修改。options物件中的值
代替了defaults物件的值傳遞給了empty。
var empty = {}
var defaults = { validate: false, limit: 5, name: “foo” };
var options = { validate: true, name: “bar” };
var settings = $.extend(empty, defaults, options);
jQuery.grep( array, callback, [invert] ) 通過一個篩選函式來去除陣列中的項
$.grep( [0,1,2], function(n,i){
return n > 0;
});
jQuery.makeArray( obj ) 將一個類似陣列的物件轉化為一個真正的陣列
將選取的div元素集合轉化為一個陣列
var arr = jQuery.makeArray(document.getElementsByTagName(”div”));
arr.reverse(); // use an Array method on list of dom elements
$(arr).appendTo(document.body);
jQuery.map( array, callback ) 使用某個方法修改一個陣列中的項,然後返回一個新的陣列
jQuery.inArray( value, array ) 返回value在陣列中的位置,如果沒有找到,則返回-1
jQuery.unique( array ) 刪除陣列中的所有重複元素,返回整理後的陣列
轉自【http://www.open-open.com/lib/view/open1405004566997.html】