【发布时间】:2016-07-17 19:19:50
【问题描述】:
我正在尝试更改数组中包含的每个类的 html。但是 for(var i in array) 循环只处理最后一个数组元素。如何使它适用于数组的每个元素。这是我的代码:
$(document).ready(function() {
var a = [],
array = [".1", ".2", ".3", ".4", ".5", ".6", ".7", ".8", ".9"];
// a.push($(array[i]).html());
for (var i in array) {
$(array[i]).click(function() {
$(array[i]).html(0);
});
}
});
在这里查看问题http://codepen.io/meow414/pen/rLJaPJ(它的代码可能会改变,因为我将尝试解决它)。 HTML 代码在这里:
<div class="container-fluid">
<div class="row">
<div class="col-xs-8 col-md-10">
<div class="row">
<div class="1 col-xs-4 col-md-4">1</div>
<div class="2 col-xs-4 col-md-4">2</div>
<div class="3 col-xs-4 col-md-4">3</div>
</div>
<div class="row">
<div class="4 col-xs-4 col-md-4">4</div>
<div class="5 col-xs-4 col-md-4">5</div>
<div class="6 col-xs-4 col-md-4">6</div>
</div>
<div class="row">
<div class="7 col-xs-4 col-md-4">7</div>
<div class="8 col-xs-4 col-md-4">8</div>
<div class="9 col-xs-4 col-md-4">9</div>
</div>
</div>
</div>
</div>
【问题讨论】:
-
仅供参考,单个数字不是有效的类选择器。 jQuery 处理它,但它默认使用其非标准、较慢的选择器引擎。
-
在 SO
closures-in-loops中应该有一个特殊的标签。一遍又一遍地犯同样的错误。 Creating closures in loops: A common mistake -
问题是变量
i,在每个匿名函数内,都绑定到函数外的同一个变量...看我的解决方案
标签: javascript jquery html css arrays