問答:
說說庫和框架的區別?
答:
庫是一些方法的集合,類似于工具,直接拿來用的。
而框架是有著一定的規范,類似于搭一個架子,需要什么內容按照它自己的規范去填充。大部分框架設計是基于MVC,MVVC模式的,如Angular,React等。jquery 能做什么?
答:
jquery是一個輕量級的js庫,實現了各種方法的封裝,有良好的兼容性。方便的操作DOM元素,css的操作,元素事件綁定,各種動畫效果的實現,ajax請求。jquery 對象和 DOM 原生對象有什么區別?如何轉化?
答:
jquery對象返回的結果是類數組對象,只能用自己的方法。
DOM原生對象是一個DOM節點,只能使用DOM元素的屬性和方法。jquery中如何綁定事件?bind、unbind、delegate、live、on、off都有什么作用?推薦使用哪種?使用on綁定事件使用事件代理的寫法?
答:
jq中綁定事件的方法:
$(".btn").click(function(){
console.log("這是jq綁定事件的第一種方法")})
$(".btn").bind('click',function(){
console.log("這是jq綁定事件的第二種方法")})
$(".btn").on('click',function(){
console.log("這是jq綁定事件的第三種方法")})
綁定事件各種寫法的作用:
1、 .bind()方法用于把事件綁定到選中的元素上,只針對已存在的元素進行事件綁定。
2、 .unbind(),bind()的反向操作,從每一個匹配的元素中刪除綁定的事件。
3、 .delegate(),為每一個符合條件的子元素綁定事件處理函數,類似于事件代理。
4、 .live(),事件處理函數綁定到document上,經過層層冒泡,直到目標元素。(被廢棄)
5、 .on().on(events,[selector],[data],fn)events: 一個或多個用空格分隔的事件類型和可選的命名空間,如"click"或"keydown.myContainer";selector: 用于過濾器出被選中元素可以觸發事件后代元素;data: 當事件觸發時,傳遞事件數據。fn: 事件觸發時,執行的函數。
6、 .off(),移除on綁定的事件處理程序.
on事件代理的寫法:
$(".info").on("click","span",function(e){
console.log("123");}) //當class名為info的元素下的任何一個span元素進行點擊事件操作時,都會代理到.info上。
- jquery 如何展示/隱藏元素?
$(selector).show(); //顯示元素
$(selector).hide(); //隱藏元素
$(selector).toggle(); //顯示隱藏元素相互切換
jquery 動畫如何使用?
答:
$(selector).animate({styles},speed,callback);
styles定義形成動畫的css屬性(必選項)
speed是完成動畫所需要的時間,值可設為 slow ,fast ,毫秒(可選項)
callback是動畫完成后所執行的回調函數(可選項).如何設置和獲取元素內部 HTML 內容?如何設置和獲取元素內部文本?
答:
$(selector).html() 獲取元素內部html內容$(selector).html(value) 設置元素內部html的內容為value$(selector).text() 獲取元素內部文本$(selector).text(value) 設置元素內部文本內容為value(如果帶標簽,會被解析為字符串輸出)如何設置和獲取表單用戶輸入或者選擇的內容?如何設置和獲取元素屬性?
答:
$(selector).val() 獲取表單用戶輸入的內容$(selector).val(value) 設置表單的值為value
$(selector).attr(attributeName)獲取元素屬性 $(selector).attr(attributeName,value) 設置元素屬性的值為value$(selector).removeAttr(attributeName) 移除元素屬性