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