JQ學(xué)習(xí)

1.JQ主要功能

HTML 元素選取
HTML 元素操作
CSS 操作
HTML 事件函數(shù)
JavaScript 特效和動(dòng)畫
HTML DOM 遍歷和修改
AJAX

2.安裝

百度 CDN:<script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js">

3.語(yǔ)法

$(selector).action()
文檔就緒事件防止文檔在在完全加載之前運(yùn)行jq代碼

JQ 入口函數(shù):
第一種:
$(document).ready(function(){
            // 開始寫 jQuery 代碼...
});
第二種:
$(function(){
            // 開始寫 jQuery 代碼...
 })
JavaScript 入口函數(shù):
window.onload = function () {
    // 執(zhí)行代碼
}

3.選擇器

$("#id", ".class")  復(fù)合選擇器
$(div p span)       層級(jí)選擇器 //div下的p元素中的span元素
$(div>p)            父子選擇器 //div下的所有p元素
$(div+p)            相鄰元素選擇器 //div后面的p元素(僅一個(gè)p)
$(div~p)            兄弟選擇器  //div后面的所有p元素(同級(jí)別)
$(.p:last)          類選擇器 加 過(guò)濾選擇器  第一個(gè)和最后一個(gè)(first 或者 last)
$("#mytable td:odd")      層級(jí)選擇 加 過(guò)濾選擇器 奇偶(odd 或者 even)
$("div p:eq(2)")    索引選擇器 div下的第三個(gè)p元素(索引是從0開始)
$("a[href='www.baidu.com']")  屬性選擇器
$("p:contains(test)")        // 內(nèi)容過(guò)濾選擇器,包含text內(nèi)容的p元素
$(":emtyp")        //內(nèi)容過(guò)濾選擇器叉抡,所有空標(biāo)簽(不包含子標(biāo)簽和內(nèi)容的標(biāo)簽)parent 相反
$(":hidden")       //所有隱藏元素 visible 
$("input:enabled") //選取所有啟用的表單元素
$(":disabled")     //所有不可用的元素
$("input:checked") //獲取所有選中的復(fù)選框單選按鈕等
$("select option:selected") //獲取選中的選項(xiàng)元素

4.事件

4.1語(yǔ)法

$(selector).click(function(){
    // 動(dòng)作觸發(fā)后執(zhí)行的代碼!!
});

4.2鼠標(biāo)事件

  • click() 方法是當(dāng)按鈕點(diǎn)擊事件被觸發(fā)時(shí)會(huì)調(diào)用一個(gè)函數(shù)
  • dblclick() 當(dāng)雙擊元素時(shí)灶壶,會(huì)發(fā)生 dblclick 事件卖丸。
  • mouseenter() 當(dāng)鼠標(biāo)指針穿過(guò)元素時(shí)你稚,會(huì)發(fā)生 mouseenter 事件扭粱。
  • mousedown() 當(dāng)鼠標(biāo)指針移動(dòng)到元素上方扶歪,并按下鼠標(biāo)按鍵時(shí)匠楚,會(huì)發(fā)生 mousedown 事件捷沸。
  • mouseup() 當(dāng)在元素上松開鼠標(biāo)按鈕時(shí)摊沉,會(huì)發(fā)生 mouseup 事件。
  • hover() 方法用于模擬光標(biāo)懸停事件痒给。當(dāng)鼠標(biāo)移動(dòng)到元素上時(shí)说墨,會(huì)觸發(fā)指定的第一個(gè)函數(shù)(mouseenter);當(dāng)鼠標(biāo)移出這個(gè)元素時(shí),會(huì)觸發(fā)指定的第二個(gè)函數(shù)(mouseleave)苍柏。

4.3輸入框焦點(diǎn)事件

  • focus() 當(dāng)元素獲得焦點(diǎn)時(shí)尼斧,發(fā)生 focus 事件。當(dāng)通過(guò)鼠標(biāo)點(diǎn)擊選中元素或通過(guò) tab 鍵定位到元素時(shí)试吁,該元素就會(huì)獲得焦點(diǎn)
  • blur() 當(dāng)元素失去焦點(diǎn)時(shí)棺棵,發(fā)生 blur 事件多用于input

4.4鍵盤事件

keypress 事件相關(guān)的事件順序

  • keydown- 鍵按下的過(guò)程
  • keypress - 鍵被按下
  • keyup- 鍵被松開
  • keydown-當(dāng)鍵盤鍵被按下時(shí)
  • keyup- 鍵被松開

4.5其他事件

  • submit當(dāng)提交表單時(shí)
  • change當(dāng) <input> 字段改變時(shí)警報(bào)文本:

5.jQuery HTML

5.1獲取屬性

$(selector).attr(屬性)

返回文檔中所有圖像的src屬性值。
$("img").attr("src");

5.2獲取內(nèi)容

  • text() 文本內(nèi)容
  • val() 表單字段值例如input框輸入的值\select的option的value值
  • html() 元素的內(nèi)容(包括 HTML 標(biāo)記)

5.3設(shè)置內(nèi)容和屬性

  • text(內(nèi)容)
返回p元素的文本內(nèi)容熄捍。
$('p').text();
  • html(內(nèi)容)
內(nèi)容設(shè)置為空(清除)
$('p').html("");
  • val(內(nèi)容)
<select id="single">
    <option>Single</option>
    <option selected="selected">Single2</option>
</select> 

<input type="checkbox" value="橘子" name="check">橘子1</input>
<input type="checkbox" value="香蕉" name="check">香蕉1</input>
 <input type="checkbox" value="西瓜" name="check">西瓜1</input>
<input type="checkbox" value="芒果" name="check">芒果1</input>
<input type="checkbox" value="葡萄" name="check">葡萄1</input>

<input type="radio" value="radio1" name="radio"/> radio1
<input type="radio" value="radio2" name="radio"/> radio2

<button id="btn1">獲取checkbox值</button>
<button id="btn2">獲取radio值</button>

//獲取select值
$("#single").change(function(){
    var selectValue=$(this).val();
    console.log(selectValue);
})
//獲取checkbox值
$("#btn1").click(function(){
    var checkboxValue =[]; 
    $('input[name="check"]:checked').each(function(){ 
        checkboxValue.push($(this).val()); 
    }); 
      console.log(checkboxValue);   
})
//獲取radio值
$("#btn1").click(function(){
       var radioValue=$('input[name="radio"]:checked').val();
          console.log(radioValue);
}
  • attr(屬性烛恤,屬性值)
設(shè)置單個(gè)屬性:
attr("class","one");
設(shè)置多個(gè)屬性:
attr({
      "data-id":1213,
      "class":"pone"  
});

5.4添加元素

  • 在元素的內(nèi)部插入
    append() - 在被選元素的結(jié)尾插入內(nèi)容
    prepend() - 在被選元素的開頭插入內(nèi)容
  • 在元素的旁邊插入
    after() - 在被選元素之后插入內(nèi)容
    before() - 在被選元素之前插入內(nèi)容
  • 插入多個(gè)
var text1=$("<p></p>").text("lala");
var text2=$("<p></p>").text("lala");
var text3=$("<p></p>").text("lala");
$("p:first").prepend(text1,text2,text3);

5.5兩種創(chuàng)建元素的方法

js
var text1=document.createElement("p");
text1.innerHTML="hahha";
jq
 var text1=$("<p></p>").html(內(nèi)容).appendTo($(selector))

5.6刪除元素

  • remove() - 刪除被選元素(及其子元素)
<div> 
     <div id="one">
            <p>1</p>
            <p>2</p>
            <p>3</p>
    </div>
</div>
$("#one").remove();
變成
<div> 
</div>

empty() - 從被選元素中刪除子元素

   <div id="one">
        <p>1</p>
        <p>2</p>
        <p>3</p>
    </div>
$("#one").empty() ;或者
$("#one").html("") ;
變成
<div id="one">
</div>
  • 過(guò)濾被刪除的元素
<div id="three">          
        <p class="=no">1</p>
         <p class="=no">2</p>
        <p>3</p>
</div>
 $("#three").remove(".no");
變成
<div id="three">          
      <p class="=no">1</p>
      <p class="=no">2</p>
 </div>

5.7獲取并設(shè)置 CSS 類(放入style屬性)

  • addClass() - 向被選元素添加一個(gè)或多個(gè)類
  • removeClass() - 從被選元素刪除一個(gè)或多個(gè)類
  • toggleClass() - 對(duì)被選元素進(jìn)行添加/刪除類的切換操作
  • css() - 設(shè)置或返回樣式屬性
-- 返回css屬性
> console.log($("#three").css("color"))

-- 設(shè)置css屬性
> $("#three").css("background-color","red");

--設(shè)置多個(gè)css屬性
> $("#four").css({
            "background-color":"red",
            "font-weight":"bold"
        })
  • 尺寸


    image.png

    image.png

    image.png
//獲取
$(selector).width();
//設(shè)置
$(selector).width("120px");

6.JQ的Ajax

6.1 load

  • 創(chuàng)建一個(gè)test.html文件,用于被load()方法加載并追加到頁(yè)面中
><h1>Ajax</h1>
    <div id="ben_one"></div>
    <button id="ben_firstbtn">點(diǎn)擊</button>
<script>
$(function(){
    $("#ben_firstbtn").click(function(){
      $("#ben_one").load("index14.html ",function(responseTxt,statusTxt,xhr){
          console.log(responseTxt);
          //console.log(statusTxt);
          //console.log(xhr);
      })
    })    
})
</script>
  • 文件中 class="ben" 的元素的內(nèi)容余耽,加載到指定的 <div> 元素中:
  $("#ben_one").load("index14.html .ben ",function(responseTxt,statusTxt,xhr){
}
  • 回調(diào)函數(shù)
 $("#ben_one").load("index14.html .ben ",function(responseTxt,statusTxt,xhr){}
responseTxt - 包含調(diào)用成功時(shí)的結(jié)果內(nèi)容
statusTXT - 包含調(diào)用的狀態(tài)
xhr - 包含 XMLHttpRequest 對(duì)象

6.2 get

語(yǔ)法:$.get(url, [data], [callback], [type])
url:待載入頁(yè)面的URL地址
data:待發(fā)送 Key/value 參數(shù)缚柏。
callback:載入成功時(shí)回調(diào)函數(shù)。
type:返回內(nèi)容格式碟贾,xml, html, script, json, text, _default币喧。

> $.get("/doget",{"name":"ben","age":23},function(result,status){
        
     })

6.3用Jquery實(shí)現(xiàn)ajax提交form表單

6.4 Post

語(yǔ)法:$.post(url, [data], [callback], [type])
url:發(fā)送請(qǐng)求地址轨域。
data:待發(fā)送 Key/value 參數(shù)。
callback:發(fā)送成功時(shí)回調(diào)函數(shù)杀餐。
type:返回內(nèi)容格式干发,xml, html, script, json, text, _default。

7.jQuery 遍歷

7.1向上遍歷 DOM 樹

  • parent() 返回被選元素的直接父元素史翘。
  • parents() 返回被選元素的所有祖先元素枉长,它一路向上直到文檔的根元素 (<html>)
  • parentsUntil() 返回介于兩個(gè)給定元素之間的所有祖先元素
<div id="ben_one">
        <p id="ben_two">p
            <p id="ben_three">
                p
            </p>
        </p>
        <span>span</span>
        <p>p</p>
        <span>span</span>
        <p>p</p>
    </div>
       <button id="ben_firstbtn">點(diǎn)擊</button>
$("#ben_firstbtn").click(function(){
      $("#ben_two").parent().css("border","1px solid red");
      $("#ben_two").parents().css("border","1px solid blue");
      $("#ben_two").parents("#ben_one").css("border","1px solid blue");
      $("#ben_three").parentsUntil("div").css("border","1px solid blue");
     })

7.2后代

  • children() 返回被選元素的所有直接子元素
  • find() 返回被選元素的后代元素,一路向下直到最后一個(gè)后代恶座。
 $("div").find("span");  //返回后代所有的span
$("div").find("*");  //返回所有后代

7.3 同胞

  • siblings() 返回被選元素的所有同胞元素搀暑。
  • next() 返回被選元素的下一個(gè)同胞元素
  • nextAll() 返回被選元素的所有跟隨的同胞元素
  • nextUntil() 返回介于兩個(gè)給定參數(shù)之間的所有跟隨的同胞元素
  • prev()
  • prevAll()
  • prevUntil()
> <h1>同胞</h1>
    <div id="ben_one">DIV</div>
    <p>p1</p>
    <p>p2</p>
    <p>p3</p>
    <button id="ben_firstbtn">點(diǎn)擊</button>
// $("#ben_one").siblings().css("border","1px solid blue");   //h1 p1 p2 p3
       //$("#ben_one").next().css("border","1px solid blue"); //p1 
       $("#ben_one").nextAll().css("border","1px solid blue"); //p1 p2 p3

7.4過(guò)濾(選擇內(nèi)容有很多組)

  • first() 方法返回被選元素的首個(gè)元素。
  • last() 方法返回被選元素的最后一個(gè)元素跨琳。
  • eq() 方法返回被選元素中帶有指定索引號(hào)的元素自点。
  • not() 方法返回不匹配標(biāo)準(zhǔn)的所有元素。(與filter相反)
  • filter() 方法允許您規(guī)定一個(gè)標(biāo)準(zhǔn)脉让。不匹配這個(gè)標(biāo)準(zhǔn)的元素會(huì)被從集合中刪除桂敛,匹配的元素會(huì)被返回
> <p class="not">p1</p>
    <p>p2</p>
    <p>p3</p>
 // $("p").first().css("border","1px solid blue");  //p1
      //$("p").last().css("border","1px solid blue");  //p3
      //$("p").not(".not").css("border","1px solid blue");  //p2 p3
      //$("p").eq(1).css("border","1px solid blue");  //p2
image.png

8.jQuery 效果

8.1隱藏和顯示

  • hide()
  • show()
  • toggle()

8.2淡入淡出

  • fadeIn() 淡入(慢慢顯示)已隱藏的元素 即css設(shè)置了display:none;
    語(yǔ)法:$(selector).fadeIn(speed,callback);
    可選的 speed 參數(shù)規(guī)定效果的時(shí)長(zhǎng)。它可以取以下值:"slow"溅潜、"fast" 或毫秒术唬。.
    可選的 callback 參數(shù)是 fading 完成后所執(zhí)行的函數(shù)名稱。

  • fadeOut() 淡出(慢慢隱藏)可見元素
    語(yǔ)法:$(selector).fadeOut(speed,callback);
    可選的 speed 參數(shù)規(guī)定效果的時(shí)長(zhǎng)滚澜。它可以取以下值:"slow"粗仓、"fast" 或毫秒。
    可選的 callback 參數(shù)是 fading 完成后所執(zhí)行的函數(shù)名稱设捐。

  • fadeToggle() 可以在 fadeIn() 與 fadeOut() 方法之間進(jìn)行切換
    語(yǔ)法:$(selector).fadeToggle(speed,callback);
    可選的 speed 參數(shù)規(guī)定效果的時(shí)長(zhǎng)借浊。它可以取以下值:"slow"、"fast" 或毫秒萝招。
    可選的 callback 參數(shù)是 fading 完成后所執(zhí)行的函數(shù)名稱

  • fadeTo() 允許漸變?yōu)榻o定的不透明度(值介于 0 與 1 之間)
    語(yǔ)法:fadeTo(speed,opacity,callback);
    必需的 speed 參數(shù)規(guī)定效果的時(shí)長(zhǎng)蚂斤。它可以取以下值:"slow"、"fast" 或毫秒槐沼。
    fadeTo() 方法中必需的 opacity 參數(shù)將淡入淡出效果設(shè)置為給定的不透明度(值介于 0 與 1 之間)曙蒸。可選的 callback 參數(shù)是該函數(shù)完成后所執(zhí)行的函數(shù)名稱岗钩。

$("p").fadeTo("slow",0.15);  

8.3滑動(dòng)

  • slideDown()
  • slideUp()
  • slideToggle()
 // $("p").slideToggle("slow");       
// $("p").slideDown("slow");       
 // $("p").slideUp("slow");  

9.鏈(Chaining)

允許我們?cè)谙嗤脑厣线\(yùn)行多條 jQuery 命令纽窟,一條接著另一條
把 css()、slideUp() 和 slideDown() 鏈接在一起兼吓。"p1" 元素首先會(huì)變?yōu)榧t色臂港,然后向上滑動(dòng),再然后向下滑動(dòng):


10.獲取直接的父代元素

parent()\next()\previous()
方法可以獲得一個(gè)節(jié)點(diǎn)的父節(jié)點(diǎn)next方法可以獲得一個(gè)節(jié)點(diǎn)的下一個(gè)兄弟節(jié)點(diǎn),對(duì)應(yīng)的previous方法可以獲得一個(gè)節(jié)點(diǎn)的上一個(gè)兄弟節(jié)點(diǎn)

<div id="cartype">
        <select></select>
        <span>汽車類型</span>
</div>
var cartype=$("#cartype").children("select");
cartype.parent().show();  //即   <div id="carname">顯示
cartype.next().show();  //即 <span>汽車類型</span>顯示
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末趋艘,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子凶朗,更是在濱河造成了極大的恐慌瓷胧,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,888評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件棚愤,死亡現(xiàn)場(chǎng)離奇詭異搓萧,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)宛畦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,677評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門瘸洛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人次和,你說(shuō)我怎么就攤上這事反肋。” “怎么了踏施?”我有些...
    開封第一講書人閱讀 168,386評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵石蔗,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我畅形,道長(zhǎng)养距,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,726評(píng)論 1 297
  • 正文 為了忘掉前任日熬,我火速辦了婚禮棍厌,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘竖席。我一直安慰自己耘纱,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,729評(píng)論 6 397
  • 文/花漫 我一把揭開白布怕敬。 她就那樣靜靜地躺著揣炕,像睡著了一般。 火紅的嫁衣襯著肌膚如雪东跪。 梳的紋絲不亂的頭發(fā)上畸陡,一...
    開封第一講書人閱讀 52,337評(píng)論 1 310
  • 那天,我揣著相機(jī)與錄音虽填,去河邊找鬼丁恭。 笑死,一個(gè)胖子當(dāng)著我的面吹牛斋日,可吹牛的內(nèi)容都是我干的牲览。 我是一名探鬼主播,決...
    沈念sama閱讀 40,902評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼恶守,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼第献!你這毒婦竟也來(lái)了贡必?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,807評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤庸毫,失蹤者是張志新(化名)和其女友劉穎仔拟,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體飒赃,經(jīng)...
    沈念sama閱讀 46,349評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡利花,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,439評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了载佳。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片炒事。...
    茶點(diǎn)故事閱讀 40,567評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖蔫慧,靈堂內(nèi)的尸體忽然破棺而出挠乳,到底是詐尸還是另有隱情,我是刑警寧澤姑躲,帶...
    沈念sama閱讀 36,242評(píng)論 5 350
  • 正文 年R本政府宣布欲侮,位于F島的核電站,受9級(jí)特大地震影響肋联,放射性物質(zhì)發(fā)生泄漏威蕉。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,933評(píng)論 3 334
  • 文/蒙蒙 一橄仍、第九天 我趴在偏房一處隱蔽的房頂上張望韧涨。 院中可真熱鬧,春花似錦侮繁、人聲如沸虑粥。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,420評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)娩贷。三九已至,卻和暖如春锁孟,著一層夾襖步出監(jiān)牢的瞬間彬祖,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,531評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工品抽, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留储笑,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,995評(píng)論 3 377
  • 正文 我出身青樓圆恤,卻偏偏與公主長(zhǎng)得像突倍,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,585評(píng)論 2 359

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

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5羽历? 答:HTML5是最新的HTML標(biāo)準(zhǔn)焊虏。 注意:講述HT...
    kismetajun閱讀 27,513評(píng)論 1 45
  • (續(xù)jQuery基礎(chǔ)(1)) 第5章 DOM節(jié)點(diǎn)的復(fù)制與替換 (1)DOM拷貝clone() 克隆節(jié)點(diǎn)是DOM的常...
    凜0_0閱讀 1,345評(píng)論 0 8
  • $( ".class" ),$( "element" ) 原生:樣式是可以多選的秕磷,所以得到的是一個(gè)合集炕淮,需要通過(guò)循...
    一包閱讀 385評(píng)論 0 0
  • 第3章 基本概念 3.1 語(yǔ)法 3.2 關(guān)鍵字和保留字 3.3 變量 3.4 數(shù)據(jù)類型 5種簡(jiǎn)單數(shù)據(jù)類型:Unde...
    RickCole閱讀 5,130評(píng)論 0 21
  • 本篇博客源地址 總結(jié): 鼠標(biāo)事件 1.click與dbclick事件ele.click()ele.click(ha...
    ZombieBrandg閱讀 676評(píng)論 0 1