什么是你已经看到,写或应该避免的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