var arr=["aaa","bbb","cccc"];
$.each(arr,function(a,b){
console.log(this);
})
结果位于以下Chrome控制台中:
Chrome控制台
我认为结果是" aaa" " bbb"," cccc",为什么结果是" a" "" "" ' B'' B'' B' ...
答案 0 :(得分:0)
尝试更改为:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/parallax/2.1.3/parallax.min.js"></script>
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
#container {
width: 100%;
height: 500px;
}
</style>
</head>
<body>
<div id="container">
<div id="scene">
<div class="layer" data-depth="0.00"><img src="layer1.png"></div>
<div class="layer" data-depth="0.20"><img src="layer2.png"></div>
<div class="layer" data-depth="0.40"><img src="layer3.png"></div>
<div class="layer" data-depth="0.60"><img src="layer4.png"></div>
<div class="layer" data-depth="0.80"><img src="layer5.png"></div>
<div class="layer" data-depth="1.00"><img src="layer6.png"></div>
</div>
</div>
<script src="jquery-3.2.1.min.js"></script>
<script src="parallax.js"></script>
<script>
var scene = document.getElementById('scene');
var parallax = new Parallax(scene);
</script>
</body>
</html>
答案 1 :(得分:0)
原因是在each
循环内,this
的范围不是正在迭代的当前元素。
在JQuery.each()
中,
您用作a
的变量是迭代索引
您用作b
的变量是当前的迭代元素。
如果要记录当前的迭代元素,请使用b
代替this
:
$.each(arr,function(a,b){
console.log(b);
▲
})
答案 2 :(得分:0)
您提供的图片中的结果是正确的。控制台仅显示字符串的各个字符及其长度信息,但如果查看实际值(原始值),它确实显示“aaa”,“bbb”和“cccc”。
答案 3 :(得分:0)
$.each(arr,function(a,b){
console.log(new String(b));
console.log(this);
})
当你使用jQuery.each来循环“arr”时,回调时绑定到新的String(arr [i])
tableswitch
并且参数“b”是您的预期结果