jQuery最佳用法及常見(jiàn)錯(cuò)誤總結(jié)
$(document).ready
如果你的代碼是操作某個(gè)DOM元素的,則記得把代碼放到
代碼塊內(nèi),或者把它放在HTML代碼的末尾。當(dāng)只有一個(gè) function()
傳遞給 $()
的時(shí)候, $(function () {})
與 $(document).ready(function () {})
意思一樣。
$.noConflict();
或者給 jQuery 重命名,如:$jq
如果你的代碼與另一個(gè)使用 $
語(yǔ)法的框架沖突,則記得使用 $.noConflict();
方法,并且把代碼
修改為:
或者你也可以定義 $jq = jQuery.noConflict();
,然后使用 $jq
。
調(diào)用jQuery的 $() 方法的非常消耗資源的,重復(fù)調(diào)用它則會(huì)非常低效。要避免這樣的情況:
應(yīng)該用一個(gè)變量把jQuery對(duì)象緩存下來(lái):
或者,更好的情況是使用鏈?zhǔn)讲僮鳒p少重復(fù):
同時(shí),很多函數(shù)支持把多個(gè)值放入一個(gè)對(duì)象,然后調(diào)用一次來(lái)改變多個(gè)值,如:
可以替換為:
jQuery變量一般用 $ 開(kāi)頭,以便和普通的JavaScript變量區(qū)分開(kāi)來(lái)。
jQuery的其中一個(gè)目標(biāo)就是抽象DOM,了解DOM的屬性是非常有用的。學(xué)習(xí)jQuery最常犯的一個(gè)錯(cuò)誤就是不學(xué)習(xí)DOM屬性而使用jQuery訪問(wèn)DOM的屬性。
上面的代碼中, this
指向的是 click
事件中綁定的元素。這段代碼執(zhí)行緩慢而且冗長(zhǎng)。下面的代碼可以實(shí)現(xiàn)相同的功能,并且代碼更短、執(zhí)行更快、可讀性更強(qiáng):
雖然下面兩段代碼功能基本相同,語(yǔ)法也沒(méi)有錯(cuò)誤,但是更推薦第一種寫(xiě)法 :
相比之下,一個(gè)字符串拼接起來(lái)的則看起來(lái)可讀性更差:
假設(shè)你希望點(diǎn)擊一個(gè)段落的時(shí)候,慢慢的隱藏元素,之后刪除頁(yè)面上的該DOM元素。你可能會(huì)使用鏈?zhǔn)讲僮鬟@么寫(xiě):
該例子中, remove()
方法會(huì)在 fadeOut()
動(dòng)畫(huà)執(zhí)行完之前就執(zhí)行,影響漸隱的效果而使元素直接消失。相反的,你應(yīng)該使用回調(diào)函數(shù):
fadeOut()
的第二個(gè)參數(shù)是一個(gè)匿名函數(shù),只會(huì)在 fadeOut()
動(dòng)畫(huà)執(zhí)行完之后執(zhí)行一次。這樣就可以實(shí)現(xiàn)漸隱的效果,然后刪除元素。
推薦文章
2024-11-28
2024-06-25
2024-01-04
2023-11-06
2023-10-30
2023-10-13
2023-10-10
穩(wěn)定
產(chǎn)品高可用性高并發(fā)貼心
項(xiàng)目群及時(shí)溝通專業(yè)
產(chǎn)品經(jīng)理1v1支持快速
MVP模式小步快跑承諾
我們選擇聲譽(yù)堅(jiān)持
10年專注高端品質(zhì)開(kāi)發(fā)聯(lián)系我們
友情鏈接: