什么是你已经看到,写或应该避免的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. 不用jQuery做Ajax有多糟糕?
- 3. 糟糕的表现
- 4. 在服务中注入Doctrine Entity Manager - 糟糕的做法?
- 5. FooManager调用Foo.OnSthHappened()是一个糟糕的做法吗?
- 6. 在scala中使用异常是一个糟糕的做法吗?
- 7. Rails - 糟糕的做法离开数据库ID在网址?
- 8. 今年春季教程中的糟糕做法?
- 9. 在控制器之外使用HttpContext - 糟糕的做法?
- 10. 糟糕的GPU能否导致Flash游戏的糟糕表现?
- 11. C++连接糟糕
- 12. pci_disable_msi糟糕问题
- 13. vim colorscheme糟糕的语法支持
- 14. NSOperation + Objective-C分类=糟糕的想法?
- 15. C2dM的糟糕的一面
- 16. jquery修改,易于隐藏/显示,我的语法很糟糕
- 17. TSQL多糟糕的表现
- 18. PhoneStateListener Android糟糕的价值
- 19. constexpr更糟糕的表现?
- 20. Portaudio + Opus:糟糕的音质
- 21. 糟糕的网站响应
- 22. 糟糕的浮点魔术
- 23. Silverlight ListBoxItem糟糕的表现
- 24. ArrayAdapter的行为很糟糕
- 25. SDL_GL_SwapWindow糟糕的表现
- 26. 糟糕的口译员:ruby_bundler_wrapper
- 27. 反馈+糟糕的输出
- 28. Safari糟糕的帧渲染
- 29. 糟糕的OpenSSL证书
- 30. 糟糕的画布背景
我知道我已经评论过,但这个问题是一个确切的重复:http://stackoverflow.com/questions/1229259/jquery-pitfalls-to-avoid – 2010-01-15 08:08:57