2013-07-22 29 views
0

我的標題可能並不完美,我對此感到抱歉。從本質上講,我想要做的是:如何將新內容添加到變量的內容中,然後替換該變量?

newc = 'wow' 
    jQuery(".bleh").each(function(i){ 
     var bluh = *this changes with everytime this statement is run. lets call it x1, x2 and so on* 
     var newc = bluh + newc 
    }); 

假設。每個()函數只運行了兩次(因爲有與類「的Bleh」兩個元素)。我需要newc現在是'x2x1wow'
在第一次運行它時,將值bluh(x1)添加到'wow'(newc的初始值)
第二次將bluh(x2)的新值添加到'x1wow'(因爲那是newc的值現在)返回newc = x2x1wow

我該怎麼做到這一點?

+1

'VAR bluh =「X」 +(I + 1);' – zerkms

回答

2

您需要創建函數外的變量,否則任何更改將丟失當函數退出:

var newc = 'wow' 
jQuery(".bleh").each(function(i) 
{ 
    var bluh = *this changes with everytime this statement is run. lets call it x1, x2 and so on* 
    newc = bluh + newc 
}); 

的問題是在側each回調您的變量newc被宣佈爲一個局部變量,其將在每次迭代中重置。你需要的是要修改的是外循環聲明的閉包變量newc,對,你可以只取出var在回調函數

演示:Fiddle

+1

你添加/改變了什麼? –

+0

@LeeTaylor'var'在本地變量 –

+1

看起來像所有人都是盲人 –