2016-02-23 34 views
1

我已加載jQuery和我有一個數組(對象)包含字符串,像這樣:爲什麼在包含字符串的數組上運行jquery each()可將每個字符串分解爲單個字符數組?

window.stack = [ 
    "header", 
    "nav", 
    ".content", 
    "footer" 
]; 

當我使用jQuery的每個()函數,並嘗試再次出現,就像讓我的每一個字符串通過循環運行此這樣的:

$.each(window.stack,function(){ 
    var h = this; 
    console.log(h); 
}) 

...我得到這個:

String [ "h", "e", "a", "d", "e", "r" ] 
String [ "n", "a", "v" ] 
String [ ".", "c", "o", "n", "t", "e", "n", "t" ] 
String [ "f", "o", "o", "t", "e", "r" ] 

爲什麼不讓我得到:

header 
nav 
.content 
footer 

+0

這個問題可能會有幫助:http://stackoverflow.com/questions/2522765/strings-in-array-are-no-longer- strings-after-jquery-each – NiallMitch14

回答

1

您可以使用$.each(window.stack, function(key, value)

http://api.jquery.com/jquery.each/

值還可以通過this關鍵字訪問,但是JavaScript的始終包裹這個值,即使它是一個簡單的字符串或數字值的對象。

所以,如果你想使用this

$.each(window.stack,function(){ 
var h = this; 
console.log(h.toString()); 
}) 
+0

「Javascript將始終將此值作爲對象包裝,即使它是簡單的字符串或數字值」< - 這就是答案,我沒有得到它。謝謝。 – Inigo

1

你可以試試這個

$.each(window.stack,function(key,value){ 

    console.log(value); 
}) 
相關問題