1. 程式人生 > >Jquery學習理解 (課堂)

Jquery學習理解 (課堂)

n) out checked 返回值 數組 sub 綁定 addclass index

Jquary概述 3

1.Jquary簡介 3

1.1什麽是jquery 3

2.使用jquary 4

2.1瀏覽器如何解析HTML文件 4

2.2利用選擇器定位節點 4

2.3調用方法操作節點 5

2.4Jquary的使用步驟 5

3. Jquary對象 5

*3.1什麽是jquary對象 5

3.2jquery對象與DOM對象的關系 5

3.3DOM對象轉化為jQuery對象 6

jquary選擇器 6

1.Jquery選擇器 6

1.1什麽是jquery選擇器 6

1.2選擇器種類 6

2基本選擇器 7

2.2基本選擇器 7

3層次選擇器 8

3.3層次選擇器 8

4.過濾選擇器 9

4.1基本過濾選擇器

9

4.2內容過濾選擇器 10

4.3可見性過濾選擇器 10

4.4屬性過濾選擇器 11

4.5狀態過濾選擇器 11

5. 表單選擇器 11

5.5表單選擇器 11

jQuary操作DOM 12

1. 讀寫節點 12

1.1讀寫節點 12

2.增刪節點 13

2.1創建DOM節點 13

3. 樣式操作 13

3.1樣式操作 13

4. 遍歷節點 14

4.1遍歷節點 14

Jquery事件處理 14

1. 事件處理 14

1.1使用jquery實現事件綁定 14

1.2獲取事件對象event 14

1.3事件對象的常用屬性 15

2. 事件冒泡 15

2.1什麽是事件冒泡 15

3. 合成事件 16

3.1合成事件 16

4. 模擬操作 16

4.1模擬操作的語法 16

jquery動畫 16

1jquery動畫 16

1.1顯示隱藏動畫效果 17

1.2上下滑動式的動畫實現 17

1.3淡入淡出示動畫效果 17

1.4自定義動畫效果 17

鏈接 17

Jquary概述

1.Jquary簡介

1.1什麽是jquery

jQuery是優秀的javascript框架,一個輕量級的js庫。

他封裝了jscssDOM,提供了一致的簡潔的API

兼容

CSS3,及各種瀏覽器

使用戶更方便的處理HTMLEvents,實現動畫效果並且方便為網站提供ajax交互

使用戶的HTML頁面保持代碼和HTML內容的分離

Jquaryjs的框架,極大了簡化了js編程

2.使用jquary

2.1瀏覽器如何解析HTML文件

技術分享

2.2利用選擇器定位節點

技術分享

2.3調用方法操作節點

技術分享

2.4Jquary的使用步驟

  1. 引入jquaryjs文件
  2. 使用選擇器定位要操作的節點
  3. 調用jquary方法進行操作

3. Jquary對象

*3.1什麽是jquary對象

Jquery為了解決瀏覽器的兼容問題兒提供的一種統一封裝後的對象描述

jQuary提供的方法是針對jQuary對象特有的,而且大部分方法的返回值類型也是jQuary對象,所以方法可以連綴調用“jQuary對象.方法().方法().方法()........"

如:$("div")$("#d1")都是jQuary對象

DOM對象->jQuary對象

3.2jquery對象與DOM對象的關系

Jquary對象本質上是一個DOM對象數組,他在該數組中擴展了一些操作數組中元素的方法

可以直接操作這個數組:

Obj.length:獲取數組長度

Obj.get(index):獲取數組中的某一個DOM對象

Obj[index]:等價於obj.get(index)

3.3DOM對象轉化為jQuery對象

DOM對象可以直接轉換為jQuery對象

-$DOM對象)

jquary選擇器

1.Jquery選擇器

1.1什麽是jquery選擇器

Jquery選擇器類似於CSS選擇(定位元素,施加樣式),能夠實現定位元素,施加行為

使用jquery選擇器能夠將內容和行為分離

類似於css選擇(定位元素,施加樣式)

能夠實現定位元素 施加行為

使用jquary選擇器能夠將內容與行為分離

1.2選擇器種類

1.基本選擇器

2.層次選擇器

3.過慮選擇器

4.表單選擇器

2基本選擇器

2.2基本選擇器

元素選擇器:依據標簽名定位元素

-$(“標簽名”)

類選擇器:根據class屬性定位元素

$(“.class屬性名”)

Id選擇器:根據id屬性定位元素

-$(“#id”)

選擇器組:定位一組選擇器所對應的所有元素

-$(“#id.importent”)

1.#id

特點:最快,盡量使用id選擇器

<body> <div id="d1"> hello jquary </div> <body>

function f() { $("#d1").css(‘font-size‘,‘30px‘);}

2..class

特點:根據class屬性定位元素

<body> <div class="s1"> hello </div>

<div class="s1">jquary </div>

<body>

function f(){

$(‘.s1‘).css(‘font_size‘,‘30px‘)

}

3.element

標記選擇器或元素選擇器,依據HTML標記來區分

<body>

<div id="d1">hello</div>

<div class="s1">jQuary</div>

</body>

function f(){

$(‘div‘).css(‘font-size‘,‘30px‘)

}

4.select1.select2,...selectN

合成選擇器

,即所有選擇器的合集

<body>

<div id="d1">hello</div>

<div class="s1">jQuary</div>

<p>空白格</p>

</body>

function f(){

$(‘#d1,.s1,p‘).css(‘font-size‘,‘30px‘);

}

2.*

所有的頁面元素,很少使用

<body>

<div id="d1">hello</div>

<div class="s1">jQuary</div>

<p>空白格</p>

</body>

function f(){

$(‘*‘).css(‘font-size‘,‘30px‘);

}

3層次選擇器

3.3層次選擇器

1.select1元素下,選中所有滿足select2子孫元素

-$(“select1 select2”)

select1空格select2

根據select1找到節點後,再去尋找子節點中符合select2

節點(重要)

<div id="d1">

<div id="d2">hello</div>

<div class="s1">jQuary</div>

<p>空白格</p>

</div>

function f(){

$(‘#d1 div‘).css(‘font-size‘,‘30px‘);

}

  1. select1>select2

select1 元素下,選中所有滿足select2 子元素

只查找直接子節點,不查找間接子節點

<div id="di">

<div>hello</div>

<p>jQuary</p>

<div><p>空白頁<p><div>

</div>

function f(){

$(‘#d1>div‘).css(‘font-size‘,‘30px‘);

}

  1. select1+select2

選中select1 元素下,滿足select2下一個弟弟

"+" 表示下一個兄弟節點

<div id="d1">

<div id="d2">hello</div>

<div id="d3">jQuary</div>

<div><p id="d4">空白格</p></div>

</div>

function f(){

$(‘#d2+div‘).css(‘font-size‘,‘30px‘);

}

  1. select1~select2

選中select1元素,滿足select2所有弟弟

"~" 代表下面的所有兄弟

<div id="d1">

<div id="d2">hello</div>

<div id="d3">jQuary</div>

<div><p id="d4">空白格</p></div>

</div>

function f(){

$(‘#d2~div‘).css(‘font-size‘,‘30px‘);

}

4.過濾選擇器

4.1基本過濾選擇器

根據元素基本特征定位元素,常用於表格和類表

過濾選擇器以“;”或“{}”開始

:first 第一個元素

last 最後一個元素

not(selector) selecto排除在外

even 挑選偶數行

odd 挑選奇數行

eq(index) 下標等於index的元素

gtindex)下標大於index的元素

ltindex) 下標小於index的元素

技術分享

基本過濾選擇器

<table>

<thead>

<tr><td>歌手</td><td>年齡</td></tr>

</thead>

<tr><td>鄧小棋</td><td>22</td></tr>

<tr id="tr1"><td>們速</td><td>31</td></tr>

<tr><td>雨神</td><td>26</td></tr>

</tbody>

</table>

function f(){

$(‘table tr:first‘).css(‘background-color‘,‘#ccc‘);

}

4.2內容過濾選擇器

內容過濾選擇器包含

根據文本內容定位元素

contains(text):匹配包含給定文本的元素

empty:匹配所有不包含子元素或文本的空元素

has(selector):匹配含有選擇器所匹配的元素

parent:匹配含有子元素或者文本的元素

技術分享

4.3可見性過濾選擇器

根據可見性定位元素

hidden: 匹配所有不可見元素,或typehidden

visible: 匹配所有的可見元素

<div>hello jQuary</div>

<div style="display:none;">hello Ajax</div>

function f(){

$(‘div:hidden‘).css(‘display‘,‘block‘);

$(‘div:hidden‘).show(normal);

$(‘div:visible‘).hide(800);

}

$(“input:hidden”)

4.4屬性過濾選擇器

根據屬性定位元素

{attribute} 匹配具有attribute屬性的元素

{attribute=value} 匹配屬性等於value的元素

{attribute=value} 匹配屬性不等於value的元素

子元素過濾選擇器

nth-child(index/even/odd)將為每一個父元素匹配

子元素,index是從1開始的整數,表示對應位置的子元素

eq(index)匹配一個給定索引值的元素,index是從0開始的整數

<ul>

<li>item1</li>

<li>item2</li> $(‘ul li:eq(1)‘)

<li>item3</li>

</ul>

<ul>

<li>item1</li>

<li>item2</li> $(‘ul li:nth-child(2)‘)

<li>item3</li>

</ul>

子元素過濾選擇器

$(“input[value=’你好’]”)

4.5狀態過濾選擇器

表單對象屬性過濾選擇器

enabled: 匹配可用元素

disabled: 匹配不可用元素

checked: 匹配選中的checkbox

selected: 匹配選中的option

  1. 表單選擇器

5.5表單選擇器

包括:

input

Text 匹配文本框

Password 匹配密碼框

Radio 匹配單選框

Checkbox 匹配多選框

Submit 匹配提交按鈕

image

Reset 匹配重置按鈕

Button 匹配普通按鈕

File 匹配文件框

Hidden 匹配隱藏框

$(“:text”)

jQuary操作DOM

1. 讀寫節點

1.1讀寫節點

html()

讀取或修改節點的HTML內容

<div id=‘di‘>

<span>hello jQuary</span>

</div>

function f(){

alert($(‘#d1‘).html());

}

text()

讀取或修改節點的文本內容

<div id=‘d1‘>

<span>hello jQuary</span>

</div>

function f()

{

alert($(‘#d1‘).text());

}

val()

讀取或修改節點的value屬性值

<input name=‘uname‘/>

function f(){

alert($(‘:text‘).val(‘空白格‘))

}

attr

讀取或者修改節點的屬性

<div id=‘d1‘>

<span>hello jQuary</span>

</div>

function f(){

$(‘#d1‘).attr(‘style‘,‘color:red;‘));

}

2.增刪節點

2.1創建DOM節點

$(“節點內容”)

$(“<span>你好<span>”)

$(html)

如創建一個div,並加在body的最後一個節點

代碼如下:

var $obj=$(‘<div>hello jQuary</div>‘);

clone()

clone(true):復制的節點也具有行為(將處理代碼一塊復制)

插入DOM節點

Parent.append(obj) 作為最後一個子節點添加進來

Parent.prepend(obj) 作為第一個子節添加進來

Brother.after(obj) 作為下一個兄弟節點添加進來

Brother.before(obj) 作為上一個兄弟節點添加進來

刪除DOM節點

Obj.remove() 刪除節點

Obj.remove(selector) 只刪除滿足selector的節點

Obj.empty() 清空節點

3. 樣式操作

3.1樣式操作

jQuary操作DOM-樣式操作

attr("class","") 獲取和設置

addClass("") 追加樣式

removeClass("") 移除樣式

removeClass() 移除所有樣式

toggleClass("") 切換樣式

hasClass("") 判斷是否有某個樣式

css("") 讀取css

css("","") 設置多個樣式

4. 遍歷節點

4.1遍歷節點

children()/children(selector) 只考慮直接子字節

next()/next(selector) 下一個兄弟節點

prev()/prev(selector) 上一個兄弟節點

siblings()/siblings(selector) 所有其他兄弟

find(selector) 查找滿足選擇器的所有後代

parent() 父節點(沒有選擇器)

Jquery事件處理

1. 事件處理

1.1使用jquery實現事件綁定

語法:

$obj.bind(“事件類型,事件處理函數”)

如:$obj.bind(‘click’,fn);

簡寫模式$obj.click(fn)

註:$obj.click()則代表觸發了click事件

1.2獲取事件對象event

只需要為事件處理函數傳遞任意一個參數

如:$obj.click(function(e){...})

E就是事件的對象,但已經經過jquery對底層事件的封裝

封裝後事件的對象可以方便的兼容個瀏覽器

1.3事件對象的常用屬性

獲取事件源e.targer,返回值是DOM對象

獲取鼠標點擊的坐標

2. 事件冒泡

2.1什麽是事件冒泡

子節點產生的事件會依次向上拋給父節點

技術分享

如何取消事件冒泡

E.stoppropagation()可以取消事件冒泡

$(‘a’).click(function(e)){

Alert(‘點擊啦一個鏈接’)

E.stoppropagation();

}

3. 合成事件

3.1合成事件

Jquery合成事件種類

Hovermouseentermouseleave) 模擬光標懸停事件

Toggle() 在多個事件響應中切換

合成事件示例

增加一張圖片

鼠標懸停在圖片上時讓圖片放大

鼠標移出時讓圖片變回原始狀態

4. 模擬操作

4.1模擬操作的語法

$obj.trigger(事件類型)

如:$obj.trigger(“focus”);

簡寫形式 $obj.focus();

技術分享

jquery動畫

1jquery動畫

1.1顯示隱藏動畫效果

Show()/hide()

作用:通過同時改變元素的寬度和高度來實現顯示或隱藏

用法:$obj.show(執行時間,回調函數);

執行時間:slownormalfast或毫秒數

回調函數,動畫執行完畢後要執行的函數

1.2上下滑動式的動畫實現

slideDown()/slideup()

作用:通過改變高度來實現顯示或隱藏的效果

用法同show()/hide()

1.3淡入淡出示動畫效果

fadeIn()/fadeout()

作用:通過改變不透明度opacity來實現顯示或者隱藏

用法同show/hide

1.4自定義動畫效果

Animate(偏移位置,執行時間,回調函數)

偏移位置:{}描述動畫執行之後元素的樣式

執行時間:毫秒數

回調函數:動畫執行結束後要執行的函數

$(“div”).click(function(){

$(this).animate({‘left’:’500px’},4000);

$(this).animate({‘top’:’300px’},2000);

});

Jquery學習理解 (課堂)