jQuery - 一些初学者的问题

时间:2011-01-18 14:59:11

标签: javascript jquery

我是jQuery的初学者,我有一些基本的问题:

  1. 是否可以在可以使用jQuery替换某些内容时使用jQuery?例如,使用它而不是通过HTML将所有事件绑定到元素是否谨慎?

  2. 自己托管jQuery .js文件和所有其他相关文件(如JQuery UI)是否更好,或者使用Google链接可能是更好的选择(它们似乎也是为其他人托管)?

  3. 在页面加载完成后执行脚本时,首选哪种方式?

    1. $(document).ready(function() {})
    2. $(function() {})
    3. $().ready(function() {})
    4. 他们似乎都做同样的事情,但脚本的首选方式是什么?

6 个答案:

答案 0 :(得分:3)

  1. 是。这样你的JS就可以与你的html完全分开了。您可以查看文件,一目了然,看看它对HTML的影响。如果它嵌入在HTML中,你将不得不寻找onClick,onLoad等,对于大型应用程序来说它会变得非常混乱。

  2. 客户端浏览器会缓存文件,因此如果您使用谷歌版本的JQuery,则无需将其从服务器上下载。节省带宽。

  3. $(document).ready(function() {})是首选。 $(function() {})只需定义执行块,它只会在页面准备就绪后执行,如果它是页面上要执行的最后一件事。

答案 1 :(得分:2)

1。)是和否。无论是否使用jQuery,最佳做法是绑定事件unobtrusive(这意味着,严格区分javascripthtml和任何其他语言)。由于jQuery允许轻松绑定事件,因此它是使用内联处理程序的更好方法。

2。)你应该使用CDN(比如谷歌)提供静态文件,比如jQuery用于缓存目的+他们有一个庞大的服务器网络,甚至可能比你自己的主机更快。

3。)我会坚持前两个电话。无论如何,基本上他们都会这样做,但最好的可读性可能有$(document).ready(function() {});

答案 2 :(得分:2)

1)在脚本中保留所有事件绑定。这使得以后更容易更改。您还希望有一个地方可以查找所有与事件相关的逻辑。

2)这是answered very well already

3)我更喜欢#2简洁,但真正理想的做法是like this

jQuery(function($) {
  // Your code using failsafe $ alias here...
});

如果您正在使用定义$。的其他框架,那么可以避免冲突。

答案 3 :(得分:1)

1:这完全取决于你。通常jQuery会导致性能损失,因为它是一个额外的抽象层。只有使用它,如果你觉得它可以帮助你更轻松地完成工作。但是,除非您真正需要优化性能,否则使用它的好处将远远超过成本。 jQuery为您提供久经考验的crossbrowser兼容性,如果您希望能够满足所有不同的浏览器需求,那么实现自己可能是一件昂贵的事情。

2:使用谷歌版:这样您的用户就有可能已将其缓存,无需再次从您的网站加载。

3:第二个选项,快捷方式被广泛使用,即使第一个选项很好而且具体,我会说它更喜欢。我永远不会使用第三个选项

答案 4 :(得分:1)

对于3d点,没有一个。出于性能原因,通常建议将脚本放在结束</body>标记之前。因此,您无需等待ready事件:在此阶段,页面已加载。

检查Jquery Cookbox (O'Reilly)第1.2章:执行jQuery / JavaScript编码的Ater DOM已加载但在完成页面加载之前(该书必须全部阅读)

要快速了解这项技术,请查看Move jQuery to the end of body tag?(关于此主题还有很多其他帖子)

答案 5 :(得分:0)

  1. 我个人不赞成“从HTML中完全独立的JS”理念。我很少看到有任何好处的真实世界用例。将HTML与JS分离通常会导致按钮在HTML中显示“单击此处执行X”,但除非使用适当的javascript,否则不执行任何操作。有点遗漏这一点。 对于jQuery和事件的情况......如果我可以检查firebug中的HTML按钮并查看该按钮的作用(通过查看onclick属性),我发现调试应用程序要容易得多。
  2. 使用谷歌版本可以帮助缓存,但不要直接链接到jquery.com。我们在这里做了一次然后他们走了下来,带走了我们。