【发布时间】:2017-11-24 16:56:22
【问题描述】:
我编写了一个脚本来从可点击的地图中获取输入,并使用该数据来显示或隐藏隐藏在包装器 div 中的数据集合。该脚本并没有真正起作用,我不确定我做错了什么。脚本如下供参考:
function createCallback( i ){
return function(){
jQuery(".stateText").addClass("hidden");
jQuery("#st_" + i + "-1").toggleClass("hidden");
};
};
jQuery(document).ready(function ($) {
for (let i = 1; i < 50; i++) {
$("#st_" + i).click( createCallback(i) );
};
});
我的推理背后的想法是,该脚本迭代了 50 个州,这些州分配了与其字母顺序相对应的 ID(例如 Alabama = st_1 等)。
每个状态的每个数据都以具有唯一 ID(形式为 st_i-1)的隐藏元素开始。当事件触发时,它应该隐藏所有其他具有“statetext”类的元素,然后切换所选元素的类。
以下是显示/隐藏 div 的代码示例:
<div id="data-area">
<div id="st_1-1" class="statetext hidden">
<h4>Alabama</h4>
<ul class="experience-list">
<li>Right of Way Land Services (Pipeline, Transmission, Telecommunications)</li>
<li>Mineral Property Management</li>
</ul>
<h4>Recent Projects</h4>
<ul class="experience-list">
<li>500+ mile multistate FERC pipeline</li>
<li>700+ mile multistate FERC pipeline</li>
<li>270+ mile multistate FERC pipeline</li>
</ul>
</div>
实际应用程序无法正常运行。单击事件通常不会触发,并且其他 div 没有添加“隐藏”类。
我在这里做错了什么?
【问题讨论】:
标签: javascript jquery html css maps