我是jQuery新手(1.5個月),我發現自己開發了一個我並不特別喜歡的PHP + jQuery習慣。我想知道是否有人有建議讓事情更優雅。考慮到我已經通過執行一個簡單的SQL查詢生成與PHP呼應以下HTML:在HTML中適當地分配ID
<div id='boat_1' class='boat speedboat'></div>
<div id='boat_2' class='boat dory'></div>
<div id='car_1' class='car racecar'></div>
<div id='car_2' class='car racecar'></div>
正如你所看到的,我選擇了跟隨{type}_{id}
的id
命名約定。現在,在jQuery中,假設我想將一個點擊處理程序綁定到這些div上。記住,他們是動態的,有可能是其中任意數量的,我會執行:
$(".car").bind('click', function(){
//do something
});
但通常情況下,這//do something
想知道哪輛車發射click事件。此外,該//do something
可能需要單獨的類型(船或汽車)和id
執行POST操作並寫回數據庫...(例如)
我現在正在做什麼來找到ID(當我需要其他獨特的信息)很簡單,但對我來說,它的氣味:
$(".car").bind(function(){
var id = $(this).attr("id").replace("car_", "");
});
有人可能會建議使用類屬性,而不是因爲你不必擔心唯一性。但是因爲類名不是單數的(每個元素可以有多個,如我所示),我不認爲這是一個候選解決方案。
因爲id在整個文檔中必須是唯一的,所以這是我解決的解決方案。我知道getElementById()會中斷,如果多個相同名稱的ID可能成爲可能,但有時我不知道是否有益,如果ids不必是唯一的,只要他們有不同的父母。
你怎麼做到的?
我應該使用HTML5的data-*
嗎?
謝謝!
部落發言。謝謝!這只是我需要的確認。祝一切順利。 –