javascript - 迭代每个面积值
问题描述
我有一个由6列组成的响应比较器。在移动设备上,此比较器切换到选项卡式面板,我希望通过向其他列添加类来仅显示第一.display-none
列。
这个比较器的每一列都有一个类,比如.column-1
,.column-2
......</p>
我尝试了以下代码但没有成功(.display-none
类未添加到所有想要的项目中):
// calling the function on mobile devices
function hideColumns(){
var y = [2, 3, 4, 5, 6]; // column number I want to hide
$('.column-' + y).each(function(){
$(this).addClass('display-none');
});
}
解决方案
您没有遍历分配给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>
推荐阅读
- python - FFMPEG concat 在剪辑之间留下音频间隙
- css - 使用 CSS 根据用户屏幕大小隐藏 Shopify 部分
- python - Jupyter 笔记本中未显示的绘图
- javascript - 带有复选框的 Javascript 电子邮件 ID 验证
- git - 获取以前的分支名称
- wordpress - 与 .htaccess 配置不同的网站重定向
- php - 是否可以确定网站是否已编码?
- c++ - 未初始化和复制的指针变量的地址
- python - Python:如何以混合格式解析日期?
- sql - SQL查询;返回主表的所有记录,并在条件下从连接表中添加字段;在连接表中找不到匹配项时将值留空