2

我有部分呈现为复杂页面组合的一部分。

其中一些部分需要一些 jQuery OnDocumentReady 优点来播种列表数据等。在渲染期间可以选择许多这些部分(它非常动态)

在我的 _Layout 中,我有一个看起来像这样的部分定义

<script src="http://my/fav/cdn/jquery-1.5.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
jQuery(function($) {
    @RenderSection("OnDocumentReadySection", false)
});
</script>

在我的部分我想写这样的东西

@section OnDocumentReadySection{
    $('#partial-1').init();
}

并让页面渲染的结果以这样的方式结束

<script src="http://my/fav/cdn/jquery-1.5.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
jQuery(function($) {
    $('#partial-1').init();
    $('#partial-2').init();
    $('#partial-3').init();
    $('#partial-n').init();
});
</script>

这是为了确保我所有的 javascript 都在呈现的 html 的底部,我被告知这是更优化的。

4

1 回答 1

1

代替:

jQuery(function($) {
    $('#partial-1').init();
    $('#partial-2').init();
    $('#partial-3').init();
    $('#partial-n').init();
});

相反,您应该为它们中的每一个分配一个通用的 css 类(即使您没有为其定义定义),然后在头部执行此操作:

jQuery(function($) {
    $('.classname').init();
});

或者,如果需要:

jQuery(function($) {
    $('.classname').each(function(){ $(this).init(); });
});
于 2011-07-18T02:46:33.703 回答