線上服務(wù)咨詢
Article/文章
記錄成長(zhǎng)點(diǎn)滴 分享您我感悟
您當(dāng)前位置>首頁(yè) > 知識(shí) > 網(wǎng)站建設(shè)
jQuery最佳用法和常見錯(cuò)誤摘要
發(fā)表時(shí)間:2019-07-30 16:01:01
文章來(lái)源:沈陽(yáng)軟件開發(fā)
標(biāo)簽:網(wǎng)站建設(shè) 小程序開發(fā) 小程序制作 微信小程序開發(fā) 公眾號(hào)開發(fā) 微信公眾號(hào)開發(fā) 網(wǎng)頁(yè)設(shè)計(jì) 網(wǎng)站優(yōu)化 網(wǎng)站排名 網(wǎng)站設(shè)計(jì) 微信小程序設(shè)計(jì) 小程序定制 微信小程序定制
瀏覽次數(shù):0
1. 記得使用?$(document).ready
如果您的代碼正在操作DOM元素,請(qǐng)記住將代碼放在
中 $(document).ready(function(){.});在代碼塊內(nèi)部,或?qū)⑵浞旁贖TML代碼的末尾。當(dāng)只有一個(gè)函數(shù)()傳遞給$()時(shí),$(function(){})具有與$(document).ready(function(){})相同的含義。
2. 使用?$.noConflict();?或者給 jQuery 重命名,如:$jq
如果您的代碼與另一個(gè)使用$ syntax的框架沖突,請(qǐng)記住使用$ .noConflict();方法并把代碼
$(document).ready(function(){修改為:
jQuery(函數(shù)($){或者你可以定義$ jq=jQuery.noConflict();然后使用$ jq。
3. 緩存jQuery對(duì)象并盡量使用鏈?zhǔn)讲僮?/h2>
調(diào)用jQuery的$()方法是非常耗費(fèi)資源的,并且重復(fù)調(diào)用它是非常低效的。為了避免這種情況:
$('。test')。addClass('hello'); $('。test')。css('color','orange'); $('。test')。prop('title','Hello世界');應(yīng)該使用變量緩存jQuery對(duì)象:
Var $ test=$('。test'); $ test.addClass('hello'); $ test.css('color','orange'); $ test.prop('title','Hello world') ;或者,更好的情況是使用鏈操作來(lái)減少重復(fù):
$('。test')。addClass('hello')。css('color','orange')。prop('title','Hello world');同時(shí),許多函數(shù)支持將多個(gè)值放入對(duì)象,然后調(diào)用它們一次以更改多個(gè)值,例如:
$('。test')。css('color','orange')。css('background-color','blue');可以替換為:
$('。test')。css({'color':'apple','background-color':'blue'});4. 變量命名規(guī)則
jQuery變量通常以$開頭,以區(qū)別于普通的JavaScript變量。
Var $ this=$(this);5. 了解DOM的屬性和方法
jQuery的目標(biāo)之一是抽象DOM。理解DOM的屬性非常有用。學(xué)習(xí)jQuery最常見的錯(cuò)誤之一是使用jQuery訪問(wèn)DOM屬性而不學(xué)習(xí)DOM屬性。
$('img')。click(function(){$(this).attr('src'); //Bad!});在上面的代碼中,這指向click事件中綁定的元素。這段代碼很慢而且冗長(zhǎng)。以下代碼可以實(shí)現(xiàn)相同的功能,代碼更短,更快,更易讀:
$('img')。click(function(){this.src; //很多,好多了});6. 慣用語(yǔ)法創(chuàng)建元素
雖然以下兩段代碼函數(shù)基本相同,但語(yǔ)法沒(méi)有錯(cuò),但建議使用第一段:
$('',{
文本:'這是'+變量',類':'藍(lán)色滑塊',標(biāo)題:變量,id:變量+ i})。appendTo(obj);相反,拼接在一起的字符串看起來(lái)不太可讀:
$('這是'+變量+'
“).appendTo(OBJ);7. 動(dòng)畫事件的回調(diào)函數(shù)
假設(shè)您要單擊一個(gè)段落,慢慢隱藏該元素,然后刪除頁(yè)面上的DOM元素。您可以使用鏈?zhǔn)讲僮鱽?lái)寫這個(gè):
$('p')。click(function(e){$(this).fadeOut('slow')。remove();});在此示例中,remove()方法在執(zhí)行fadeOut()動(dòng)畫之前執(zhí)行,從而影響淡化效果并導(dǎo)致元素直接消失。相反,您應(yīng)該使用回調(diào)函數(shù):
$('p')。click(function(e){$(this).fadeOut('slow',function(){$(this).remove();});});fadeOut()的第二個(gè)參數(shù)是一個(gè)匿名函數(shù),只在fadeOut()動(dòng)畫執(zhí)行完畢后執(zhí)行一次。這將實(shí)現(xiàn)淡入淡出效果,然后刪除元素。
網(wǎng)站建設(shè),小程序開發(fā),小程序制作,微信小程序開發(fā),公眾號(hào)開發(fā),微信公眾號(hào)開發(fā),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站優(yōu)化,網(wǎng)站排名,網(wǎng)站設(shè)計(jì),微信小程序設(shè)計(jì),小程序定制,微信小程序定制