我有大量代码需要在另一段代码之前加载,以使其正常工作。为了让我实现这一目标,我一遍又一遍地使用多个脚本。有没有办法可以清理其中一些?我会尝试举例:
//This needs to load first to add class
<script>
$(function(){
if (typeof(global_Current_ProductCode) !="undefined")
{
if ($('#pt494').length == 0 )
{ $('font[class="text colors_text"]:eq(0)').closest('table').addClass('thePrices'); }
}
});
</script>
//This needs to load 2nd because it has to add the class first before it does this
<script>
$(function(){
if (typeof(global_Current_ProductCode) !="undefined")
{
if ($('#pt490').length == 0 )
{ $('table[class="thePrices"]:eq(0)').closest('table').before($('font[class="productnamecolorLARGE colors_productname"]:eq(0)').addClass('toptitle'));}
}
});
</script>
还有更多类似于此的代码,必须有一种方法可以在同一个IF语句下抛出所有代码吗?
答案 0 :(得分:2)
我不确定我理解你的问题。按顺序写入的代码块不会同时执行。因此,您可以合并代码:
<script>
$(function(){
if (typeof(global_Current_ProductCode) !="undefined")
{
if ($('#pt494').length == 0 )
{
$('font[class="text colors_text"]:eq(0)').closest('table').addClass('thePrices');
}
if ($('#pt490').length == 0) {
$('table[class="thePrices"]:eq(0)').closest('table').before($('font[class="productnamecolorLARGE colors_productname"]:eq(0)').addClass('toptitle'));
}
}
});
</script>
答案 1 :(得分:0)
除了设计自己的框架之外,除了尝试在将来编写更清晰的代码之外,没有什么可以做的。根据我的经验,我通常会将所有html注入内容合并到一个函数中,然后再调用它。
您还可以将功能分离到$(document).ready()和$(window).load。文档就绪后会出现窗口加载,但这对于凌乱的代码来说绝对不是一个完整的解决方案。