1.jQuery 中至非, $(document).ready()是什么意思纳本?
$(document).ready()方法:為防止文檔在完全加載(就緒)之前運行Jquery代碼氨淌。若在文檔未完全加載前就運行函數(shù),操作可能失敗铺呵。必須在文檔加載完后執(zhí)行操作吉挣,可使用ready事件派撕,作用相當(dāng)于把js寫到body末尾婉弹。
$(document).ready(function(){
});
可簡寫為:
$(function(){
})
window.onload:必須等網(wǎng)頁中所有的元素全部加載完畢,才能執(zhí)行
不能同時寫多個腥刹,否則后面覆蓋前面马胧。
2.$node.html()和$node.text()的區(qū)別?
- $node.html() 獲取$node里的html標(biāo)簽和文本信息
- $node.text() 獲取$node里的文本信息汉买,不包含html標(biāo)簽
3.$.extend 的作用和用法?
- $.extend()將多個對象合并到一起衔峰,可以傳入多個參數(shù)。$.extend([deep,] target,…)蛙粘,[deep,]為布爾值默認情況不是深拷貝垫卤,可設(shè)置true為深拷貝。
4. jQuery 的鏈?zhǔn)秸{(diào)用是什么出牧?
- jQuery返回對象還是當(dāng)前對象(return this)時穴肘,可以使用類似鏈子一樣的方式進行jQuery方法的調(diào)用,如:
$(#ct).css('color','blue').show(400).hide();
5.jQuery 中 data 函數(shù)的作用
-
在匹配元素上存儲任意相關(guān)數(shù)據(jù) 或 返回匹配的元素集合中的第一個元素的給定名稱的數(shù)據(jù)存儲的值舔痕。
.data( key, value ) **key** 類型: [String](http://www.jquery123.com/Types/#String) 一個字符串评抚,用戶存儲數(shù)據(jù)的名稱。(譯者注:存儲的數(shù)據(jù)名) **value** 類型: [Object](http://www.jquery123.com/Types/#Object) 新的數(shù)據(jù)值伯复;它可以是任意的Javascript數(shù)據(jù)類型慨代,包括Array 或者 Object。 添加的版本: [1.4.3](http://www.jquery123.com/category/version/1.4.3/).data( obj ) **obj** 類型: [Object](http://www.jquery123.com/Types/#Object) 一個用于更新數(shù)據(jù)的 鍵/值對 $("body").data("foo", 52); $("body").data("bar", { myType: "test", count: 40 }); $("body").data({ baz: [ 1, 2, 3 ] }); $("body").data("foo"); // 52 $("body").data(); // { foo: 52, bar: { myType: "test", count: 40 }, baz: [ 1, 2, 3 ] }
6.寫出以下功能對應(yīng)的 jQuery 方法:
-
給元素 $node 添加 class active啸如,給元素 $noed 刪除 class active
$node.attr('class','active') $node.removeAttr('class')
-
展示元素$node, 隱藏元素$node
$box.show() $box.hide()
獲取元素$node 的 屬性: id侍匙、src、title叮雳, 修改以上屬性
-
獲认氚怠:
$img.attr('src') $img.attr('id') $img.attr('title')
-
修改:
$img.attr('src','http://t10.baidu.com/it/u=1469844558,3932374131&fm=58') .attr('id','img_1') .attr('title','內(nèi)鏈')
-
給$node 添加自定義屬性data-src
$node.data('src','http://t10.baidu.com/it/u=1469844558,3932374131&fm=58')
-
在$ct 內(nèi)部最開頭添加元素$node
$ct.prepend($node)
-
在$ct 內(nèi)部最末尾添加元素$node
$ct.append($node)
-
刪除$node
$node.remove()
-
把$ct里內(nèi)容清空
$ct.empty()
在$ct 里設(shè)置 html <div class="btn"></div>
$ct.html('<div class="btn"></div>')
或
$ct.append('<div class="btn"></div>')獲取、設(shè)置$node 的寬度帘不、高度(分別不包括內(nèi)邊距说莫、包括內(nèi)邊距、包括邊框寞焙、包括外邊距)
-
獲取
$box.width() //只有內(nèi)容寬度 $box.innerWidth() //包括內(nèi)邊距 $box.outerWidth() //包括內(nèi)邊距储狭、外邊框 $box.outerWidth(true) //包括內(nèi)邊距、外邊框棺弊、外邊距 $box.height() //只有內(nèi)容高度 $box.innerHeight() //包括內(nèi)邊距 $box.outerHeight() //包括內(nèi)邊距晶密、外邊框 $box.outerHeight(true) //包括內(nèi)邊距、外邊框模她、外邊距
-
設(shè)置
$box.css({'width': '200px', 'height': '200px','border-color': 'green','margin':'20px','padding':'20px;'})
-
獲取窗口滾動條垂直滾動距離
$(window).scroll()
-
獲取$node 到根節(jié)點水平稻艰、垂直偏移距離
$node.offset()
-
修改$node 的樣式,字體顏色設(shè)置紅色侈净,字體大小設(shè)置14px
$node.css({"color":"red","font-size":"14px"})
-
遍歷節(jié)點尊勿,把每個節(jié)點里面的文本內(nèi)容重復(fù)一遍
$node.each(function(){ console.log($(this).text()) })
-
從$ct 里查找 class 為 .item的子元素
$ct.find('.item')
-
獲取$ct 里面的所有孩子
$ct.children()
-
對于$node僧凤,向上找到 class 為’.ct’的父親,在從該父親找到’.panel’的孩子
$node.parents('.ct').find('.panel')
-
獲取選擇元素的數(shù)量
$node.length $node.size()
-
獲取當(dāng)前元素在兄弟中的排行
$node.index()
7.用jQuery實現(xiàn)以下操作
- 當(dāng)點擊$btn 時元扔,讓 $btn 的背景色變?yōu)榧t色再變?yōu)樗{色
- 當(dāng)窗口滾動時躯保,獲取垂直滾動距離
- 當(dāng)鼠標(biāo)放置到$div上,把$div 背景色改為紅色澎语,移出鼠標(biāo)背景色變?yōu)榘咨?/li>
- 當(dāng)鼠標(biāo)激活 input 輸入框時讓輸入框邊框變?yōu)樗{色途事,當(dāng)輸入框內(nèi)容改變時把輸入框里的文字小寫變?yōu)榇髮懀?dāng)輸入框失去焦點時去掉邊框藍色擅羞,控制臺展示輸入框里的文字
- 當(dāng)選擇 select 后尸变,獲取用戶選擇的內(nèi)容
代碼及效果展示