1.jQuery 能做什么?
jQuery 是一個高效、精簡并且功能豐富的 JavaScript 工具庫。它提供的 API 易于使用且兼容眾多瀏覽器。
jquery 能做:
1.選擇網頁元素
2.改變結果集
3.元素的操作:取值和賦值
4.元素的操作:移動
5.元素的操作:復制、刪除和創建
6.工具方法
7.事件操作
8.特殊效果
9.AJAX
2. jQuery 對象和 DOM 原生對象有什么區別?如何轉化?
jquery對象是通過jQuery去獲取的類數組對象,擁有 jQuery 的屬性和方法
DOM對象是通過原生js去獲取的對象,擁有原生對象的方法和屬性
DOM對象轉化成jQuery對象: 用$符號包裹,$(dom)
jQuery對象轉化成DOM對象:使用下標,$('selector')[index]
3.jQuery中如何綁定事件?bind、unbind、delegate、live、on、off都有什么作用?推薦使用哪種?使用on綁定事件使用事件代理的寫法?
-
綁定事件:選擇元素;on/off方法綁定事件;調用相關API
用法:$(dom).on( events [,selector ] [,data ], handler(eventObject) )
- 作用:
.bind() 為一個元素綁定一個事件處理程序
.unbind() 從元素上刪除以前附加的一個事件處理程序
.delegate() 為所有匹配選擇器(selector參數)的元素綁定一個或多個事件處理函數,基于一個指定的根元素的子集,匹配的元素包括那些目前已經匹配到的元素,也包括那些今后可能匹配到的元素。
.live() 附加一個事件處理器到匹配目前選擇器的所有元素,現在和未來。
.on() 在選定的元素上綁定一個或者多個事件;
.off() 移除一個事件處理函數
- 推薦:使用 on/off 方法統一進行事件綁定、委托和解綁。
- 事件代理:
$('#box>ul').on('click','li',function(){
var value = $(this).text()
$('#output').text(value)
}) //本例中,'#box>ul'為事件代理的父元素,'li'為事件代理的目標元素
4.jQuery 如何展示/隱藏元素?
test
區別:
hide隱藏的效果是從右下到左上的慢慢折疊縮小,而fadeOut的淡出效果是整體淡化直至消失,slideUp為從下至上卷起。css中的
display:none
和display:block
也可以隱藏、展示元素。
5.jQuery 動畫如何使用?
.animate( properties [, duration ] [, easing ] [, complete ] ) //用法
properties:一個CSS屬性和值的對象,動畫將根據這組對象移動
duration:一個字符串或者數字決定動畫將運行多久
easing:一個字符串,表示過渡使用哪種緩動函數
complete:在動畫完成時執行的函數。
var actions = [
{width: 80, height: 80, left: 0,top:0},
{left: '200px'},
{top: '200px'},
{left: 0},
{top: 0},
{width: '80px', height: '80px'}
] //可以將CSS屬性和值的對象新建數值,從中遍歷,得到對象的移動軌跡,形成動畫
actions.forEach(function(action){
$('#box-1').animate(action)
})
6.如何設置和獲取元素內部 HTML 內容?如何設置和獲取元素內部文本?
image.png
$('').html() //獲取
$('').html(value) //設置
$('').text();
$('').text(value);
7.如何設置和獲取表單用戶輸入或者選擇的內容?如何設置和獲取元素屬性?
$('').val() //獲取表單元素的值,如`input`, `select` 和`textarea`
$('').val(value) //設置表單元素的內容
$('').attr( attributeName ) //獲取匹配元素的屬性值
$('').attr( attributeName,value) //更改匹配元素的屬性值