1、jQuery 中, $(document).ready()是什么意思?
就是必須在DOM全部加載完畢后調(diào)用js代碼(或者這樣寫$.ready())祸泪,HTML文件瀏覽器逐行解析,當(dāng)JS文件放在前面時建芙,DOM還未加載没隘,此時調(diào)用JS文件執(zhí)行就可能會出錯,為避免出錯禁荸,需要保證 JS 在 DOM 完全加載完成后執(zhí)行右蒲。jQuery 的 ready 方法就是這個目的。此時不管這段代碼寫在哪里赶熟,都相當(dāng)于寫在 body 的末尾瑰妄,最后執(zhí)行。
2映砖、$node.html()和$node.text()的區(qū)別?
a)$node.html():獲取元素內(nèi)html標(biāo)簽加文本內(nèi)容翰撑。
b)$node.text():只獲取元素內(nèi)的文本內(nèi)容。
3啊央、 $.extend 的作用和用法?
1、extend({},src1,src2,src3...)
它的含義是將src1,src2,src3…合并到{}中,返回值為合并后的{}涨醋,后面的參數(shù)如果和前面的參數(shù)存在相同的名稱瓜饥,那么后面的會覆蓋前面的參數(shù)值
var obj1 = {a:1,b:1}
var obj2 ={b:2,c:3}
var obj3 = {}
$.extend(obj3,obj1,obj2)//{a: 1, b: 2, c: 3}
2、extend(boolean,dest,src1,src2,src3...)
第一個參數(shù)boolean代表是否進(jìn)行深度拷貝浴骂,其余參數(shù)和前面介紹的一致乓土,舉個例子
var result=$.extend( true, {}, { name: "John", location: {city: "Boston",county:"USA"} },
{ last: "Resig", location: {state: "MA",county:"China"} } )
result={name:"John",last:"Resig",location:{city:"Boston",state:"MA",county:"China"}}
var result=$.extend( false, {}, { name: "John", location:{city: "Boston",county:"USA"} },
{ last: "Resig", location: {state: "MA",county:"China"} } )
result={name:"John",last:"Resig",location:{state:"MA",county:"China"}}
4、jQuery 的鏈?zhǔn)秸{(diào)用是什么溯警?
當(dāng)jQuery方法函數(shù)執(zhí)行完以后趣苏,返回的值依然是當(dāng)前對像,所以可以繼續(xù)調(diào)用其余方法梯轻,這樣就形成了一種鏈?zhǔn)秸{(diào)用食磕。
$node.addClass().html().removeClass()
5、jQuery 中 data 函數(shù)的作用
data() 方法向被選元素附加數(shù)據(jù)喳挑,或者從被選元素獲取數(shù)據(jù)彬伦。 通過data()函數(shù)存取的數(shù)據(jù)都是臨時數(shù)據(jù)滔悉,一旦頁面刷新,之前存放的數(shù)據(jù)都將不復(fù)存在单绑。 移除通過data()函數(shù)存放的數(shù)據(jù)回官,用 removeData() 函數(shù)。
$node.data('dk','ll')
$node.data('dk') //返回ll
6搂橙、寫出以下功能對應(yīng)的 jQuery 方法:
給元素 $node 添加 class active歉提,給元素 $noed 刪除 class active
$node.addClass("active")
$node.removeClass("active")
展示元素$node, 隱藏元素$node
$node.show()
$node.hide()
獲取元素$node 的 屬性: id、src区转、title苔巨, 修改以上屬性
//獲取
$('#dd').attr('id')
$('#dd').attr('src')
$('#dd').attr('title')
//修改
$('#dd').attr('id','vaule')
$('#dd').attr('src','vaule')
$('#dd').attr('title','vaule')
給$node 添加自定義屬性data-src
$node.attr('data-src','val');
在$ct 內(nèi)部最開頭添加元素$node
$ct.prepend($node);
$node.prependTo($ct)
在$ct 內(nèi)部最末尾添加元素$node
$ct.append($node)
$node.appendTo($ct)
刪除$node
$node.remove();
把$ct里內(nèi)容清空
$ct.empty();
在$ct 里設(shè)置 html <div class="btn"></div>
$ct.html('<div class="btn"></div>')
獲取設(shè)置$node 的寬度高度(分別不包括內(nèi)邊距、包括內(nèi)邊距蜗帜、包括邊框恋拷、包括外邊距)
$node.width(); //不包括內(nèi)邊距
$node.height(); //不包括內(nèi)邊距
$node.innerWidth(); //包括內(nèi)邊距
$node.innerHeight(); //包括內(nèi)邊距
$node.outerWidth(); //包括邊框
$node.outerHeight(); //包括邊框
$node.outerWidth(true); //包括外邊距
$node.outerHeight(true); //包括外邊距
獲取窗口滾動條垂直滾動距離
$(window).scrollTop();
獲取$node 到根節(jié)點水平、垂直偏移距離
$node.offset().left
$node.offset().top
修改$node 的樣式厅缺,字體顏色設(shè)置紅色蔬顾,字體大小設(shè)置14px
$("node").css({
'color':'red',
'font-size':'14px'
})
遍歷節(jié)點,把每個節(jié)點里面的文本內(nèi)容重復(fù)一遍
$("node").each(function(){
$(this).text($(this).text() + $(this).text())
})
從$ct 里查找 class 為 .item的子元素
$ct.find('.item')
獲取$ct里面的所有孩子
$ct.children()
對于$node湘捎,向上找到 class 為’.ct’的父親诀豁,在從該父親找到’.panel’的孩子
$node.parents(".ct").find(".panel")
獲取選擇元素的數(shù)量
$node.length
獲取當(dāng)前元素在兄弟中的排行
$node.index()