jQuery小記

前言

本見書上JavaScript事件一塊較為繁瑣細(xì)節(jié)甚多以為是要花上好一段時(shí)間才能學(xué)完再來做筆記讥耗。結(jié)果是當(dāng)天晚上就粗粗看完內(nèi)容后決定暫且不做筆記崖堤,轉(zhuǎn)而在w3cschool上瀏覽完了jQuery教程昨天來不及做,今天起來就開始補(bǔ)上這篇小記。


效果動(dòng)畫

1.隱藏和顯示

$(selector).hide(speed,callback);
$(selector).show(speed,callback);
$(selector).toggle(speed,callback);//切換

可選的speed參數(shù):可選值為"slow","fast"或者毫秒數(shù)
$(selector).hide(1000);
可選的callback參數(shù)是在隱藏或顯示完成后執(zhí)行的函數(shù)名稱
2.淡入淡出:

$(selector).fadeIn(speed,callback);
$(selector).fadeOut(speed,callback);
$(selector).fadeToggle(speed,callback);
$(selector).fadeTo(speed,opacity,callback);//透明度變化

3.滑動(dòng):

$(selector).slideDown(speed,callback);//向下滑動(dòng)顯示元素
$(selector).slideUp(speed,callback);//向上滑動(dòng)顯示元素
$(selector).slideToggle(speed,callback);

4.動(dòng)畫:
語法:$(selector).animate({params},speed,callback);
該語句幾乎可以操作所有的css屬性,當(dāng)需要操作元素的位置屬性是需將元素的position設(shè)置為relative、fixed 或 absolute周荐。同時(shí)填寫css屬性名稱使用駝峰形式。
存在動(dòng)畫隊(duì)列:即一個(gè)元素完成多條動(dòng)畫指令:

$("button").click(function(){
  var div=$("div");
  div.animate({height:'300px',opacity:'0.4'},"slow");
  div.animate({width:'300px',opacity:'0.8'},"slow");
  div.animate({height:'100px',opacity:'0.4'},"slow");
  div.animate({width:'100px',opacity:'0.8'},"slow");
}); 

有個(gè)鏈接功能:即對(duì)于同一個(gè)元素的多條語句(動(dòng)作或方法)可以通過鏈接連在一起:

$("#p1").css("color","red")
 .slideUp(2000)
 .slideDown(2000);

5.停止動(dòng)畫
單獨(dú)列出這一條語句是因?yàn)樵撜Z句存在兩個(gè)參數(shù)需要試驗(yàn)過理解了才能熟練的使用:$(selector).stop(stopAll,goToEnd);
stopAll表示是否停止動(dòng)畫隊(duì)列里所有動(dòng)畫默認(rèn)為false
goToEnd只有設(shè)置了stopAll才有效僵娃,表示是否跳過動(dòng)畫達(dá)到當(dāng)前動(dòng)畫語句的最后的形態(tài)
而如果stopAll為false則立馬跳過第一條動(dòng)畫立即執(zhí)行下一條動(dòng)畫指令概作。
ps:描述并不清楚,若回顧這篇文章還是需要自己動(dòng)手實(shí)踐過才知道兩個(gè)參數(shù)的實(shí)際意義默怨。


6:捕獲
所謂捕獲就是獲取東西讯榕,可以獲取的有內(nèi)容和屬性。
1.獲取內(nèi)容:
text()返回所選元素的文本內(nèi)容
html()返回所選元素的內(nèi)容包含HTML標(biāo)記
val()返回表單字段的值(ex:input里的輸入值)

<p>名稱: <input type="text" id="test" value="someText"></p>
<button>顯示值</button>
$(document).ready(function(){
  $("button").click(function(){
    alert("值為: " + $("#test").val());
  });
});

同時(shí)這三個(gè)函數(shù)都存在回調(diào)函數(shù):

$(element).text(function(i,origText){
    return 
"The old text: "+origText + "New text : hello world!";
});

return的值就是要寫入element中的新值,origText是舊值愚屁,i是該元素的的下標(biāo)
2.獲取屬性
$(element).attr("attrName");

而attr()方法允許同時(shí)設(shè)置多個(gè)屬性:

$("button").click(function(){
  $("#w3s").attr({
    "href" : "http://www.reibang.com/",
    "title" : "簡(jiǎn)書官網(wǎng)"
  });
});

而attr()方法的回調(diào)函數(shù)用法如下:

$("button").click(function(){
  $("#link_test").attr("href", function(i,origValue){
    return origValue + "/u/caf9042c3d27"; 
  });
});

個(gè)人認(rèn)為該回調(diào)函數(shù)更方便的獲得了舊屬性來進(jìn)行接下來的操作济竹。
7.刪除元素
remove() - 刪除被選元素(及其子元素)
empty() - 從被選元素中刪除子元素
remove() 方法也可接受一個(gè)參數(shù),允許對(duì)被刪元素進(jìn)行過濾霎槐。
該參數(shù)可以是任何 jQuery 選擇器的語法送浊。

$("p").remove(".italic");
//不是刪除p元素中class為italic的元素而是刪除所有class為italic的p元素

8.添加元素
append() - 在被選元素內(nèi)部的結(jié)尾插入指定內(nèi)容
prepend() - 在被選元素內(nèi)部的開頭插入指定內(nèi)容
after() - 在被選元素之后插入內(nèi)容
before() - 在被選元素之前插入內(nèi)容
這些方法都可以接受無限數(shù)量個(gè)新元素

function appendText()
{
var txt1="<p>Text.</p>";               // 使用 HTML 標(biāo)簽創(chuàng)建文本  
var txt2=$("<p></p>").text("Text.");   // 使用 jQuery 創(chuàng)建文本
var txt3=document.createElement("p");  
txt3.innerHTML="文本。";               // 使用 DOM 創(chuàng)建文本 text with DOM
$("p").append(txt1,txt2,txt3);         // 追加新元素 
}
function afterText()
{
var txt1="<b>I </b>";                    // 使用 HTML 創(chuàng)建元素  
var txt2=$("<i></i>").text("love ");     // 使用 jQuery 創(chuàng)建元素
var txt3=document.createElement("big");  // 使用 DOM 創(chuàng)建元素
txt3.innerHTML="jQuery!";
$("img").after(txt1,txt2,txt3);          // 在圖片后添加文本
}

9.操作類
addClass() - 向被選元素添加一個(gè)或多個(gè)類
removeClass() - 從被選元素刪除一個(gè)或多個(gè)類
toggleClass() - 對(duì)被選元素進(jìn)行添加/刪除類的切換操作
css("propertyname") - 返回首個(gè)匹配元素的樣式屬性值
同時(shí)可以通過 css("propertyname","value");設(shè)置屬性值
如需設(shè)置多個(gè) CSS 屬性丘跌,請(qǐng)使用如下語法:

 element.css({"propertyname":"value","propertyname":"value",...});

10.遍歷DOM
向上遍歷DOM樹:

parent()//返回所選元素的直接父元素
parents()//返回所選元素的所有祖先元素袭景,一路向上直到文檔的根元素,<html>
parentsUntil()

parents()方法存在可選參數(shù)(祖先元素的類型)來過濾搜索結(jié)果:

$(document).ready(function(){
  $("span").parents("ul");
});

parentsUntil()方法返回兩個(gè)元素之間的所有被選元素的祖先元素(不包括邊界元素):

<body class="ancestors"> body (曾曾祖父元素)
  <div style="width:500px;">div (曾祖父元素)
    <ul>ul (祖父元素)  
      <li>li (父元素)
        <span>span</span>
      </li>
    </ul>   
  </div>
</body>
<script>
$(document).ready(function(){
  $("span").parentsUntil("div").css({"color":"red","border":"2px solid red"});
});
</script>

ul和li有紅色邊框顯示
而將parentsUntil參數(shù)變成parentsUntil(".ancestors")則在上面的基礎(chǔ)上div也會(huì)擁有紅色邊框.說明該參數(shù)可以是任何 jQuery 選擇器的語法。
向下遍歷簡(jiǎn)單了許多:

children()//沒有參數(shù)則返回直接子元素闭树、也可以有參數(shù)對(duì)結(jié)果進(jìn)行過濾
find()//有參數(shù)對(duì)搜索結(jié)果進(jìn)行過濾,該參數(shù)可以是任何 jQuery 選擇器的語法耸棒。

返回div的所有后代:$("div").find("*");


水平遍歷:
水平遍歷分為兩大類:
1.返回所有的兄弟元素:

 siblings()
//可以有參數(shù),和遍歷祖先和孩子一樣填寫參數(shù)

2.單一方向遍歷:
分為向前向后遍歷报辱,在此只記錄向后遍歷:

 next()//返回當(dāng)前元素的下一個(gè)兄弟元素只返回一個(gè)元素所以沒有參數(shù)
 nextAll()//返回所有跟隨元素且可以有參數(shù)參數(shù)填寫同上文
 nextUntil()//用法與parentsUntil()類似也可以有參數(shù)

向前遍歷:
preve(),prevAll(),prevUntil()
11.過濾
在選取DOM中的節(jié)點(diǎn)時(shí)存在了過濾的方法來縮小搜索范圍:

first(),
last()与殃,
eq(n)//第n個(gè)元素從0開始計(jì)數(shù)
filter("")//通過css選擇器來縮小范圍表示符合filter內(nèi)的條件的某些元素
not()//與filter正好相反

結(jié)尾

內(nèi)容不算很多,但是記錄下來也花了很多時(shí)間捏肢,本是想分好幾天看完奈籽,心有愧疚地玩了會(huì)游戲又開始逼著自己看完了內(nèi)容⊥液眨看的時(shí)候就開始記錄筆記為了方便寫簡(jiǎn)書衣屏,可能是剛開始記錄的原因?qū)嵲谑怯悬c(diǎn)煩人有點(diǎn)累,堅(jiān)持堅(jiān)持就好辩棒。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末狼忱,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子一睁,更是在濱河造成了極大的恐慌钻弄,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,816評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件者吁,死亡現(xiàn)場(chǎng)離奇詭異窘俺,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)复凳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門瘤泪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人育八,你說我怎么就攤上這事对途。” “怎么了髓棋?”我有些...
    開封第一講書人閱讀 158,300評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵实檀,是天一觀的道長(zhǎng)惶洲。 經(jīng)常有香客問我,道長(zhǎng)膳犹,這世上最難降的妖魔是什么恬吕? 我笑而不...
    開封第一講書人閱讀 56,780評(píng)論 1 285
  • 正文 為了忘掉前任,我火速辦了婚禮镣奋,結(jié)果婚禮上币呵,老公的妹妹穿的比我還像新娘。我一直安慰自己侨颈,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,890評(píng)論 6 385
  • 文/花漫 我一把揭開白布芯义。 她就那樣靜靜地躺著哈垢,像睡著了一般。 火紅的嫁衣襯著肌膚如雪扛拨。 梳的紋絲不亂的頭發(fā)上耘分,一...
    開封第一講書人閱讀 50,084評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音绑警,去河邊找鬼求泰。 笑死,一個(gè)胖子當(dāng)著我的面吹牛计盒,可吹牛的內(nèi)容都是我干的渴频。 我是一名探鬼主播,決...
    沈念sama閱讀 39,151評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼北启,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼卜朗!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起咕村,我...
    開封第一講書人閱讀 37,912評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤场钉,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后懈涛,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體逛万,經(jīng)...
    沈念sama閱讀 44,355評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,666評(píng)論 2 327
  • 正文 我和宋清朗相戀三年批钠,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了宇植。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,809評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡价匠,死狀恐怖当纱,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情踩窖,我是刑警寧澤坡氯,帶...
    沈念sama閱讀 34,504評(píng)論 4 334
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響箫柳,放射性物質(zhì)發(fā)生泄漏手形。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,150評(píng)論 3 317
  • 文/蒙蒙 一悯恍、第九天 我趴在偏房一處隱蔽的房頂上張望库糠。 院中可真熱鬧,春花似錦涮毫、人聲如沸瞬欧。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽艘虎。三九已至,卻和暖如春咒吐,著一層夾襖步出監(jiān)牢的瞬間野建,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評(píng)論 1 267
  • 我被黑心中介騙來泰國打工恬叹, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留候生,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,628評(píng)論 2 362
  • 正文 我出身青樓绽昼,卻偏偏與公主長(zhǎng)得像唯鸭,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子绪励,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,724評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容

  • 通過jQuery肿孵,您可以選取(查詢疏魏,query)HTML元素停做,并對(duì)它們執(zhí)行“操作”(actions)。 jQuer...
    枇杷樹8824閱讀 652評(píng)論 0 3
  • jQuery是一套跨瀏覽器的JavaScript庫大莫,簡(jiǎn)化HTML與JavaScript之間的操作蛉腌。由約翰·雷西格(...
    靜候那一米陽光閱讀 781評(píng)論 0 18
  • 第一章 入門 基本功能:訪問和操作 dom 元素,控制頁面樣式只厘,對(duì)頁面的事件處理烙丛,與ajax完美結(jié)合,有豐富的插件...
    X_Arts閱讀 1,034評(píng)論 0 2
  • 不知道下面這篇文章的作者是誰羔味,只能確定他是我的一個(gè)校友河咽。14年的文章,我前兩天才看到赋元,有所感忘蟹,轉(zhuǎn)發(fā)在這里飒房,聊作紀(jì)念...
    晃晃悠悠的招財(cái)貓閱讀 5,560評(píng)論 1 1
  • 首先,我們先為Array新增一個(gè)迭代方法iterate!媚值,如下: 那么我們看看應(yīng)該怎么調(diào)用狠毯? 與屬性不同,在方法中...
    kamionayuki閱讀 676評(píng)論 0 1