【发布时间】:2014-07-15 18:35:04
【问题描述】:
我正在尝试使用一个类作为每个集合的键来过滤不同样本集的数组,以便 js 知道从具有存储样本位置的变量中提取什么。目前,如果我登录,例如 set1,它只返回最后一个位置。 hasClass 方法也没有找到设置的类。总而言之,我认为我在逻辑上走在正确的道路上,但我可能在方法和效率方面混淆了一些事情。我尝试在这方面寻找解决方案一段时间无济于事,所以我在这里。感谢您的帮助。
<div class="swatches set1">Swatches</div>
<div class="swatches set2">Swatches</div>
<div class="swatches set3">Swatches</div>
var swatches = [
"swatch1.png",
"swatch2.png",
"swatch3.png",
"swatch4.png",
"swatch5.png",
"swatch6.png",
"swatch7.png",
"swatch8.png"
];
var set1 = swatches[3,4,2];
var set2 = swatches[5,1,2];
var set3 = swatches[7,1,2];
$('.swatches').each(function(){
if($(this).hasClass('set1')){
for(i=0;i<set1.length;i++){
$(this).append(set1[i]);
}
}
if($(this).hasClass('set2')){
for(i=0;i<set2.length;i++){
$(this).append(set2[i]);
}
}
if($(this).hasClass('set3')){
for(i=0;i<set3.length;i++){
$(this).append(set3[i]);
}
}
});
【问题讨论】:
-
选择
$(this)而不是$this... -
将 $this 的所有实例更新为 $(this)