問答:
說說庫(kù)和框架的區(qū)別米诉?
答:
庫(kù)是一些方法的集合菱蔬,類似于工具,直接拿來用的史侣。
而框架是有著一定的規(guī)范拴泌,類似于搭一個(gè)架子,需要什么內(nèi)容按照它自己的規(guī)范去填充惊橱。大部分框架設(shè)計(jì)是基于MVC,MVVC模式的蚪腐,如Angular,React等税朴。jquery 能做什么回季?
答:
jquery是一個(gè)輕量級(jí)的js庫(kù),實(shí)現(xiàn)了各種方法的封裝正林,有良好的兼容性泡一。方便的操作DOM元素,css的操作觅廓,元素事件綁定鼻忠,各種動(dòng)畫效果的實(shí)現(xiàn),ajax請(qǐng)求哪亿。jquery 對(duì)象和 DOM 原生對(duì)象有什么區(qū)別粥烁?如何轉(zhuǎn)化?
答:
jquery對(duì)象返回的結(jié)果是類數(shù)組對(duì)象蝇棉,只能用自己的方法讨阻。
DOM原生對(duì)象是一個(gè)DOM節(jié)點(diǎn),只能使用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()方法用于把事件綁定到選中的元素上呼猪,只針對(duì)已存在的元素進(jìn)行事件綁定。
2砸琅、 .unbind(),bind()的反向操作宋距,從每一個(gè)匹配的元素中刪除綁定的事件。
3症脂、 .delegate(),為每一個(gè)符合條件的子元素綁定事件處理函數(shù)谚赎,類似于事件代理。
4诱篷、 .live()壶唤,事件處理函數(shù)綁定到document上,經(jīng)過層層冒泡兴蒸,直到目標(biāo)元素视粮。(被廢棄)
5细办、 .on().on(events,[selector],[data],fn)events: 一個(gè)或多個(gè)用空格分隔的事件類型和可選的命名空間,如"click"或"keydown.myContainer";selector: 用于過濾器出被選中元素可以觸發(fā)事件后代元素;data: 當(dāng)事件觸發(fā)時(shí)橙凳,傳遞事件數(shù)據(jù)。fn: 事件觸發(fā)時(shí)笑撞,執(zhí)行的函數(shù)岛啸。
6、 .off()茴肥,移除on綁定的事件處理程序.
on事件代理的寫法:
$(".info").on("click","span",function(e){
console.log("123");}) //當(dāng)class名為info的元素下的任何一個(gè)span元素進(jìn)行點(diǎn)擊事件操作時(shí)坚踩,都會(huì)代理到.info上。
- jquery 如何展示/隱藏元素瓤狐?
$(selector).show(); //顯示元素
$(selector).hide(); //隱藏元素
$(selector).toggle(); //顯示隱藏元素相互切換
jquery 動(dòng)畫如何使用瞬铸?
答:
$(selector).animate({styles},speed,callback);
styles定義形成動(dòng)畫的css屬性(必選項(xiàng))
speed是完成動(dòng)畫所需要的時(shí)間,值可設(shè)為 slow 础锐,fast 嗓节,毫秒(可選項(xiàng))
callback是動(dòng)畫完成后所執(zhí)行的回調(diào)函數(shù)(可選項(xiàng)).如何設(shè)置和獲取元素內(nèi)部 HTML 內(nèi)容?如何設(shè)置和獲取元素內(nèi)部文本皆警?
答:
$(selector).html() 獲取元素內(nèi)部html內(nèi)容$(selector).html(value) 設(shè)置元素內(nèi)部html的內(nèi)容為value$(selector).text() 獲取元素內(nèi)部文本$(selector).text(value) 設(shè)置元素內(nèi)部文本內(nèi)容為value(如果帶標(biāo)簽拦宣,會(huì)被解析為字符串輸出)如何設(shè)置和獲取表單用戶輸入或者選擇的內(nèi)容?如何設(shè)置和獲取元素屬性?
答:
$(selector).val() 獲取表單用戶輸入的內(nèi)容$(selector).val(value) 設(shè)置表單的值為value
$(selector).attr(attributeName)獲取元素屬性 $(selector).attr(attributeName,value) 設(shè)置元素屬性的值為value$(selector).removeAttr(attributeName) 移除元素屬性