0

假设我有以下脚本

<script type="text/javascript">
  $(function($, d) { 
    var custom = {
      settings: { news: $('div.news') },
      init: function() { this.settings.news.html('new'); }
    }
  }(jQuery, $(document)))
</script>

您可以假设该对象具有更多功能,但我的问题是我应该将它放在哪里?我知道两种方法:

  1. 将脚本放在<head>标签中。这样,我必须确保仅在 document.ready 之后调用对象,因此设置 jQuery 对象 ( $('div.news')) 不会为空。

  2. 在我看来,第二种方式在语义上不太正确,但我可以放弃 document.ready 功能:我可以“物理地”将脚本放在 html 之后。

您更喜欢哪种解决方案,为什么?预先感谢!

4

2 回答 2

3

任何不能帮助呈现页面布局的脚本都应该放在正文的底部,最好作为对脚本文件的引用(而不是脚本本身)。这允许 CSS + HTML 以可视方式呈现页面,然后将 JavaScript(或 jQuery,在您的情况下)应用于呈现的元素。

它不会提高页面本身的性能,但它确实加快了视觉渲染,似乎为最终用户提供了更快的体验。

有关更多详细信息,请参见此处。

于 2013-01-29T15:06:59.830 回答
0

我将这样的代码放在结束 body 标记之前,然后运行 ​​init():

var custom: {
    settings: { news: null },
    init: function() {
        this.settings.news = $('#news');
        this.settings.news.html('new'); 
    }
}

custom.init();

类似的东西。

编辑以反映安东尼的评论。

于 2013-01-29T15:06:31.340 回答