正在尝试合并jQuery代码



我有很多代码,这些代码最需要在其他代码之前加载,才能正常工作。为了实现这一点,我一遍又一遍地编写了多个脚本。有没有办法让我把这些东西清理干净?我将尝试举个例子:

//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语句下吗?

我不确定我是否理解你的问题。按顺序编写的代码块不会同时执行。因此,您可以这样整合您的代码:

<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>

除了设计自己的框架之外,除了在未来尝试编写更干净的代码之外,没有什么可做的了。根据我的经验,我通常将所有html注入的东西合并到一个函数中,并在调用其他函数之前调用它。

您也可以将函数分离为$(document).ready()和$(window).load。在文档准备好后会进行窗口加载,但这绝对不是一个解决混乱代码的万全之策。

相关内容

  • 没有找到相关文章

最新更新