我写了一个脚本,以便从地图点击接受输入,并使用这些数据来显示或隐藏隐藏在一个包装DIV的数据集合。该脚本并没有真正的工作,我不知道我做错了什么。脚本如下供参考:问题与jQuery显示/隐藏
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));
};
});
我的推理背后的想法是,该脚本遍历被分配对应于他们的字母顺序(如阿拉巴马= st_1等)的ID五十个州。
每个每个状态的数据的开始了与唯一的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没有获得添加的“隐藏”类。
我在这里做错了什么?
哦,我很抱歉,不清楚。点击地图时触发的ID和关联文本的ID是不同的(因为它们必须是)。地图点击具有id st_1,关联数据具有id st_1-1。 – Ian
[ID中的连字符在HTML5中完全合法](https://stackoverflow.com/questions/70579/what-are-valid-values-for-the-id-attribute-in-html)。其实。他们在HTML4中也是合法的;它是HTML4中无效的其他特殊字符。 – cjl750