Jquery 中, $(document).ready()是什么意思?和window.onload 的區(qū)別? 還有其他什么寫法或者替代方法驹愚?
window.onload() | $(document).ready() | |
---|---|---|
執(zhí)行時(shí)機(jī) | 在頁面所有元素(包括圖片,引用文件)加載完后執(zhí)行劣纲。等同于$(window).load(function);
|
頁面中所有HTML DOM,CSS DOM結(jié)構(gòu)加載完之后就會(huì)執(zhí)行谁鳍,其他圖片可能沒有加載完. |
編寫個(gè)數(shù) | 不能同時(shí)寫多個(gè)癞季,后面的將會(huì)覆蓋前面的 | 可以同時(shí)寫多個(gè) |
簡(jiǎn)寫 | 無 | $(function(){//to do;}); |
$node.html()和$node.text()的區(qū)別?
- $node.html()獲取的是節(jié)點(diǎn)的html內(nèi)容
- $node.text()獲取的是節(jié)點(diǎn)的text內(nèi)容
<div class="test">
<span>hello</span>
</div>
console.log($('.test').html())//<span>hello</span>
console.log($('.test').text())//hello
$.extend 的作用和用法?]
- jQuery.extend([deep,] target [, object1 ] [, objectN ] )
- 用法
- 如果提供兩個(gè)或多個(gè)對(duì)象給$.extend(),對(duì)象的所有屬性都添加到目標(biāo)對(duì)象(target參數(shù))倘潜。
- 如果只有一個(gè)參數(shù)提供給$.extend()绷柒,jQuery對(duì)象本身被默認(rèn)為目標(biāo)對(duì)象。這樣涮因,我們可以在jQuery的命名空間下添加新的功能废睦。即向 jQuery 中添加新函數(shù)
- deep參數(shù)
可選的參數(shù),表示是否進(jìn)行深拷貝养泡,默認(rèn)是false - target參數(shù)
即合成的目標(biāo)對(duì)象嗜湃,如果是已存在的對(duì)象將會(huì)被修改 - object1[,objectN]
即將要合成的多個(gè)對(duì)象,后面的屬性會(huì)覆蓋前面的
- deep參數(shù)
JQuery 的鏈?zhǔn)秸{(diào)用是什么澜掩?
- 當(dāng)jQuery的方法的返回值仍為當(dāng)前對(duì)象時(shí)可以繼續(xù)調(diào)用該對(duì)象的方法购披,這樣就形成一種鏈?zhǔn)秸{(diào)用;
$(“#myphoto”).css(“border”,”solid 2px#FF0000”).attr(“alt”,” good”);
對(duì)一個(gè)jQuery對(duì)象先調(diào)用了css()函數(shù)修改樣式肩榕,然后使用attr()函數(shù)修改屬性刚陡,這種調(diào)用方式象鏈一樣,所以稱為“鏈?zhǔn)讲僮鳌薄?/li>
JQuery ajax 中緩存怎樣控制?
- POST請(qǐng)求不會(huì)產(chǎn)生緩存,但是如果GET請(qǐng)求的URL一樣筐乳,就會(huì)產(chǎn)生緩存歌殃,產(chǎn)生緩存的結(jié)果是瀏覽器不會(huì)去服務(wù)器更新內(nèi)容,而是使用本地的緩存
- JQuery ajax 中cache參數(shù):
如果設(shè)置為 false 蝙云,瀏覽器將不緩存此頁面挺份。注意: 設(shè)置cache為 false將在 HEAD和GET請(qǐng)求中正常工作。它的工作原理是在GET請(qǐng)求參數(shù)中附加"_={timestamp}"
jquery 中 data 函數(shù)的作用
-
.data( [ key [, value ] ])
以指定的鍵名key存取數(shù)據(jù)贮懈。
如果指定了value參數(shù)匀泊,則表示以鍵名key存放值為value的數(shù)據(jù);
如果沒有指定value參數(shù)朵你,則表示讀取之前以鍵名key存放的數(shù)據(jù)各聘;
如果沒有指定任何參數(shù),則以對(duì)象形式返回之前存儲(chǔ)的所有數(shù)據(jù)抡医。
代碼
- 給元素 $node 添加 class active躲因,給元素 $node 刪除 class active
$node.addClass('active');
$node.removeClass('active');
- 展示元素$node, 隱藏元素$node
$node.show()
$node.hide() - 獲取元素$node 的 屬性: id、src忌傻、title大脉, 修改以上屬性
$node.attr('id')
$node.attr('src')
$node.attr('title')
//修改
$node.attr('id','change')
$node.attr('src','change')
$node.attr('title','change') - 給$node 添加自定義屬性data-src
$node.attr('data-src','add')
關(guān)于是用attr()還是data(),可以參考
**attr()返回值始終是string型**
如果是為了存儲(chǔ)和傳遞頁面元素相關(guān)的數(shù)據(jù),data()比attr()是更好的選擇水孩。
- 在$ct 內(nèi)部最開頭添加元素$node
$ct.prepend($node) - 在$ct 內(nèi)部最末尾添加元素$node
$ct.append($node) - 刪除$node
$node.remove($node) - 把$ct里內(nèi)容清空
$node.empty()
$ct.text(""); - 在$ct 里設(shè)置 html <div class="btn"></div>
$ct.html('<div class="btn"></div>') - 獲取镰矿、設(shè)置$node 的寬度、高度(分別不包括內(nèi)邊距俘种、包括內(nèi)邊距秤标、包括邊框、包括外邊距)
$node.width() 方法設(shè)置或返回元素的寬度(不包括內(nèi)邊距宙刘、邊框或外邊距)苍姜。
$node.height() 方法設(shè)置或返回元素的高度(不包括內(nèi)邊距、邊框或外邊距)悬包。
$node.innerWidth() 方法返回元素的寬度(包括內(nèi)邊距)衙猪。
$node.innerHeight() 方法返回元素的高度(包括內(nèi)邊距)。
$node.outerWidth() 方法返回元素的寬度(包括內(nèi)邊距和邊框)布近。
$node.outerHeight() 方法返回元素的高度(包括內(nèi)邊距和邊框)
$node.outerWidth(true) 方法返回元素的寬度(包括內(nèi)邊距垫释、邊框和外邊距)。
$node.outerHeight(true) 方法返回元素的高度(包括內(nèi)邊距吊输、邊框和外邊距)饶号。 - 獲取窗口滾動(dòng)條垂直滾動(dòng)距離
$(window).scrollTop() - 獲取$node 到根節(jié)點(diǎn)水平、垂直偏移距離
$node.offset().left
$node.offset().top - 修改$node 的樣式季蚂,字體顏色設(shè)置紅色茫船,字體大小設(shè)置14px
$node.css({"color":"red","font-size":"14px"}) - 遍歷節(jié)點(diǎn)琅束,把每個(gè)節(jié)點(diǎn)里面的文本內(nèi)容重復(fù)一遍
$node.each(function(){
console.log($(this).text())
}) - 從$ct 里查找 class 為 .item的子元素
$ct.find('.item') - 獲取$ct 里面的所有孩子
$ct.children() - 對(duì)于$node,向上找到 class 為’.ct’的父親算谈,在從該父親找到’.panel’的孩子
$node.parents('.ct').find('.panel') - 獲取選擇元素的數(shù)量
$node.length - 獲取當(dāng)前元素在兄弟中的排行
$node.index() - 獲取下標(biāo)為n的元素
$node.eq(n)