我寫了一個腳本,以便從地圖點擊接受輸入,並使用這些數據來顯示或隱藏隱藏在一個包裝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