說說庫和框架的區(qū)別?
庫可以說是一個函數(shù)庫,里面放了各種api,庫的內(nèi)部做了各種封裝和各種兼容實現(xiàn),所以使得代碼更簡單,效率更高。
框架相當(dāng)于一個模板,可以往框架里面填充內(nèi)容來創(chuàng)建項目。
jquery 能做什么?
jQuery是一個Javascript庫,可以讓用戶更簡單的進(jìn)行HTML文檔DOM遍歷、操作、事件處理、動畫,以及使用Ajax。且具有多瀏覽器兼容性。
jquery 對象和 DOM 原生對象有什么區(qū)別?如何轉(zhuǎn)化?
- 用法不同,因為jquery對象與dom原生對象是不相同的,所以它們提供的方法和屬性也不相同。
- jquery對象是一個類數(shù)組對象擁有jquery的屬性和方法。
- 原生dom對象擁有原生對象的屬性和方法。
- var btn = $('#btn')[0] 加下標(biāo)轉(zhuǎn)換為dom原生對象
- $(btn)用$包裹原生對象成為jquery對象
jquery中如何綁定事件?bind、unbind、delegate、live、on、off都有什么作用?推薦使用哪種?使用on綁定事件使用事件代理的寫法?
- 綁定事件一般使用on: $(XX).on( events [,selector ] [,data ], handler(eventObject) ); 這是1.7版本后統(tǒng)一的寫法。
- 在這之前,各種事件都有自己單獨(dú)的綁定語句,比如click,有$(xx).click( [eventData ], handler ),
- bind()也是一種綁定事件的方法,但是已經(jīng)被棄用了。
- unbind()用來解綁事件,同樣也棄用。
- delegate(),用來執(zhí)行事件委托,語法是:.delegate( selector, eventType, eventData, handler )
- live(),$(xx).live( events [, data ], handler )也是一種事件委托的方式,其中第二的參數(shù)可以傳入selector,live給document綁定一個事件,當(dāng)有事件觸發(fā)時,判定事件源是否匹配selector,是的話則執(zhí)行handler里的語句。
- off對應(yīng)于on,用來解綁事件:.off( events [, selector ] ),不傳入?yún)?shù)時會移除對象身上所有的事件。
推薦使用on,它的功能最齊全,也是官方推薦的事件綁定語法。handler(eventObject) ); 這是1.7版本后統(tǒng)一的寫法。
jquery 如何展示/隱藏元素?
- 通過hide函數(shù)和show函數(shù)來顯示和隱藏
- 通過添加刪除active類來展示隱藏元素
- 通過css的display屬性來展示、隱藏元素
jquery 動畫如何使用?
$(selector).animate({params},speed,callback);
//例子
$('#box').animate({left:'30px',top:'100px'},500);
如何設(shè)置和獲取元素內(nèi)部 HTML 內(nèi)容?如何設(shè)置和獲取元素內(nèi)部文本?
$('#ele').html() //獲取
$('#ele').html(value) //設(shè)置
$('#ele').text();
$('#ele').text(value);
如何設(shè)置和獲取表單用戶輸入或者選擇的內(nèi)容?如何設(shè)置和獲取元素屬性?
.val([string])
無參數(shù)時,獲取表單用戶的輸入值
有參數(shù)時,設(shè)置表單的輸入值
.attr(attributeName)
獲取元素特定屬性的值
.attr(attributeName, value)
為元素屬性賦值