为什么在包含字符串的数组上运行jquery each()会将每个字符串分成单个字符的数组?

时间:2016-02-23 11:55:50

标签: javascript jquery

我已经加载了jquery,并且我有一个包含如下字符串的数组(对象):

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

2 个答案:

答案 0 :(得分:2)

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

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

  

也可以通过this关键字访问该值,但Javascript将始终将此值包装为Object,即使它是一个简单的字符串或数字值。

因此,如果您想使用this

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

答案 1 :(得分:1)

你可以试试这个

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

    console.log(value);
})