具體來說,我有我的(嚴重的JS)網頁的區域包含HTML元素的列表,爲簡單起見,我們假設只有兩個列表:A和B.讓我們也說當我點擊列表A中的第一項A1)列表B(B1)中的第一項發生了一些事情。在編寫JS沉重的Web應用程序時,我應該如何避免重複的ID?
我給列表A中的每個元素一個普通的HTML類和一個ID(如<li class='listAmember' id='1'>...</li>
)。我以類似的方式在列表B中設置了元素(如<li class='listBmember' id='1'>
)。然後,我附加了一些click
處理程序(在這種情況下使用jQuery),然後跑掉與重複的ID問題,即使我有資格我的jQuery的基於身份的選擇與類名,這樣
$('.listAmember#1').click(function(){});
我已經意識到這是不好的做法(ID在文檔中應該是唯一的!),但我不確定有哪些好的替代方案。
我真的不想創建像listAmember-1
這樣的ID,因爲如果我在我的JS代碼中有一個查找表(這是鍵入數字ID),我需要從該ID解析出1
字符串來獲得'真正'的ID。 (而且我仍然需要添加類似listAmember
的類用於樣式目的,而且看起來不必要的重複?)總而言之,這看起來很笨拙,我認爲有更好的方法嗎?
請勿使用'id'。使用'class'和'data- *'屬性! – Florent
或者使用MV * JS框架代替低級別的jQuery DOM操作意大利麪條 –