常用的JQuery函數及功能小結_jquery

來源:互聯網
上載者:User

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'); //擷取字型大小,如30pxvar 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();

有關常用的JQuery函數及功能小結 小編就給大家介紹到這裡,希望對大家有所協助!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.