2014-11-04 76 views
1

我讀了與下面的腳本的XML文件:添加的功能,我的XML呼叫

var varReverse = false; 

$(xmlData).find('localoffer').each(function(){ 
    // .... 
}); 

基於變量varReverse是真的還是假的我怎麼更新上述所以它是動態變化腳本如下:

var varReverse = true; 

$(xmlData).find('localoffer').reverse().each(function(){ 
    // ... 
}); 

我已經得到了插件:

jQuery.fn.reverse = [].reverse; 

爲了處理XM的反轉升

預先感謝您

+0

不能動態地更新腳本(?),但您可以包含一個'if'語句,以便它可以跟隨基於該變量的兩條路徑之一。 – Andy 2014-11-04 16:23:02

+0

謝謝安迪我當時就是這麼想的。我在.each函數之間有很多腳本,並且不希望它複製 – 2014-11-04 16:25:40

回答

2

試試這個

var localoffer = $(xmlData).find('localoffer'); 
localoffer = varReverse ? localoffer.reverse() : localoffer; 
localoffer.each(function(){ 
     // ... 
}); 
+0

謝謝你。我知道這件事很簡單,但我對localoffer變量 – 2014-11-04 16:51:59

1

使用的if聲明。如果你有很多的代碼,你不想重複,把它放在它自己的功能,並從each方法調用它在每種情況下:

$.fn.reverse = [].reverse; 

var varReverse = true; 

function doSomething (i, el) { 
    console.log($(el).html()) 
} 

if (varReverse) { 
    $('.class').reverse().each(doSomething);  
} else { 
    $('.class').each(doSomething); 
} 

DEMO

+0

感到困惑。謝謝,我沒有在我的頁面上測試過這個,因爲頂端的評論看起來最簡單並且工作得很完美。 – 2014-11-04 16:52:43