javascript - 循环遍历 2 数组并使用 onclick 获取项目
问题描述
我有一个带有重复块的模板,每次单击 .id_name 时,idia 都会切换壁橱 .products_block,我该怎么做?例如,如果我单击第三个 .id_name,我只想切换第三个 .products_block。
我抓住了元素
const elem = document.getElementsByClassName('id_name');
const prod = document.getElementsByClassName('products_block');
做一个数组
const elemArray = Array.prototype.slice.call(elem)
const prodArray = Array.prototype.slice.call(prod)
<div class="id_name">
<p>onlcik</p>
<div class="products_block">
<p>show</p>
</div>
</div>
<div class="id_name">
<p>onlcik</p>
<div class="products_block">
<p>show</p>
</div>
</div>
....
解决方案
这是你想要的 ?http://jsfiddle.net/mp2xL1uc/
var idArr = Array.from(document.getElementsByClassName('id_name'));
idArr.forEach(idEl => {
Array.from(idEl.children)[0].addEventListener('click', function(e){
if(Array.from(idEl.children)[1].style.display === 'none'){
Array.from(idEl.children)[1].style.display = 'block';
}
else{
Array.from(idEl.children)[1].style.display = 'none';
}
});
});
HTML:
<div class="id_name">
<p>onlcik</p>
<div class="products_block" style="display: none;">
<p>show</p>
</div>
</div>
<div class="id_name">
<p>onlcik</p>
<div class="products_block" style="display: none;">
<p>show</p>
</div>
</div>
推荐阅读
- vaticle-typedb - 无法在 Grakn 中插入带有键的数据
- c - C for 循环,应该能够省略循环内部的初始化,但不能按预期工作
- python - 重定向到 HTML Python Flask Arduino 中的页面
- r - 制作具有给定间隔的数据范围的数据框?
- javascript - 使用 Viewbox 调整绘图轴的大小
- json - 为 JSON 创建 POJO 类
- html - 信息按钮未正确显示
- node.js - 调试异步瀑布 AWS Lambda
- r - for 循环 - idx[] <- idx[0] 中的错误:替换长度为零
- java - 在 GCP PubSub 和 Spring Boot 中捕获发布错误