您没有遍历分配给y变量的数字列表。你需要这样做。当前代码给出的东西不是你想要的......
var y = [2, 3, 4, 5, 6];
'.column-' + y // ".column-2,3,4,5,6"
所以基本上在这里你会找到一个具有 class 的 dom 元素"column-2,3,4,5,6"。以下是您遇到的问题。而是你这样做
function hideColumns() {
var classes = [2, 3, 4, 5, 6].map(num => `.column-${num}`).join(', ');
$(classes).addClass('display-none');
}
演示:
function hideColumns() {
var classes = [2, 3, 4, 5, 6].map(num => `.column-${num}`).join(', ');
$(classes).addClass('display-none');
}
$('.start').on('click', hideColumns);
.display-none {
display: none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<div class="column-1">1</div>
<div class="column-2">2</div>
<div class="column-3">3</div>
<div class="column-11">11</div>
<div class="column-4">4</div>
<div class="column-5">5</div>
<div class="column-15">15</div>
<div class="column-6">6</div>
<button class="start">
Play the Demo
</button>