什麼是你已經看到,寫或應該避免的JQuery壞/最壞的做法?Jquery糟糕的做法
回答
您應該避免的一件事是再次使用每行中的「易用」選擇器,因爲選擇器的JavaScript實現不是,即有效。當然,jQuery的人正在優化它,但我認爲你應該儘可能少地使用它。
所以,這是一個不好的做法。
$("li ul span").show();
$("li ul span").toggleClass("bubu");
鏈接好
$("li ul span").show().toggleClass("bubu");
而且在一個局部變量記住的東西也還不錯:
var allspans = $("li ul span");
allspans.show();
allspans.toggleClass("bubu");
是的,很多人這樣做。這對性能來說太糟糕了。 – jerone 2010-01-15 07:49:33
+1用於指出鏈接和局部變量! – 2010-01-15 07:50:25
仍然使用舊的文件準備好功能:
$("document").ready(function(){ });
而不是非常com mon:
$(function(){ });
這並不是非常糟糕,但我顯示人們不會用新的api起牀。
有兩個,我看到了很多:
首先,在點擊事件中,id
訪問是這樣的:
$("a").click(function(e){
var id = $(this).attr('id');
});
這造成周圍的DOM一個新 jQuery對象節點,和調用一個函數。以下是正確的做法:
$("a").click(function(e){
var id = this.id;
});
注:那你還會看到$(this).attr('href')
,但那是因爲jQuery它標準化跨瀏覽器的方式是正確的。
的第二正在通過任何東西,除了一個DOM節點到jQuery的調用的參數scope
:
$(".child", $(".parent")).doSomething();
// or
$(".child", ".parent").doSomething();
沒有速度增益都做這個。當你看到一個速度增加,是當你已經擁有的DOM元素:
$('div').click(function(){
$('img', this).doSomething(); // This is good
});
- 1. ADO.NET - 糟糕的做法?
- 2. 今年春季教程中的糟糕做法?
- 3. 在控制器之外使用HttpContext - 糟糕的做法?
- 4. C++連接糟糕
- 5. NSOperation + Objective-C分類=糟糕的想法?
- 6. vim colorscheme糟糕的語法支持
- 7. C2dM的糟糕的一面
- 8. 最糟糕的SQL有
- 9. 糟糕的畫布背景
- 10. 糟糕的網站響應
- 11. Portaudio + Opus:糟糕的音質
- 12. 糟糕的口譯員:ruby_bundler_wrapper
- 13. Safari糟糕的幀渲染
- 14. 表現非常糟糕
- 15. 「Watin + Gallio + IE」表現糟糕?
- 16. 開局糟糕標籤
- 17. JS.ERB爲何如此糟糕?
- 18. 在應用程序中訪問DbContext是不是非常糟糕的做法?
- 19. 索引/偏移性能很糟糕 - 我做錯了什麼? Python
- 20. 這是在現代C++糟糕做法中使用原始指針嗎?
- 21. 我搞砸了我的git - 糟糕的
- 22. Artifactory的:REST API糟糕的設計
- 23. jQuery將糟糕的順序排列的div塊
- 24. 什麼是WPF最糟糕的問題?
- 25. 核心數據和糟糕的表現
- 26. 是case statement1 + statement2:糟糕的編碼?
- 27. PHP糟糕的正則表達式
- 28. 有限狀態機:糟糕的設計?
- 29. 這是一個糟糕的設計? UITabBarController
- 30. 糟糕的安裝目錄路徑
我知道我已經評論過,但這個問題是一個確切的重複:http://stackoverflow.com/questions/1229259/jquery-pitfalls-to-avoid – 2010-01-15 08:08:57