1
我正在使用Prototype.js,但這可能也適用於jQuery:我有一堆行的HTML列表,其中每行都與JavaScript中包含在數組中的對象相關。所以:javascript - 使用html標籤或添加屬性元素?
<ul>
<li id="0">blah</li>
<li id="1">blahblah></li>
</ul>
我目前使用id標籤來查找JavaScript對象引用。因此,當該行的用戶clickes,事件代碼看起來是這樣的:
var clickedItem = event.findElement('li');
if (clickedItem) {
var itemID = clickedItem.identify();
var foundBlah = blahList[itemID];
以該ID標籤一個壞主意,我應該改爲將屬性添加到每一行創建時,如:
var blah = new Blah('blah');
$(list).insert(<li>blah</li>).blah = blah;
然後只是在事件處理程序中檢索該值?
Th ere在原型中叫做store,如下所示:$(list).insert(...)。store('key','value');然後:.retrieve('key')元素。雖然我不知道爲什麼我會使用它,而不是僅僅爲元素添加屬性。 – BobTurbo 2011-02-23 02:18:40
@BobTurbo - 是的,它看起來像Prototype的'.store()'/'.retrieve()'等價於'.data()'。我認爲這是實現你描述的理想方式,因爲它允許你將JS特定的數據附加到一個元素而不會混淆DOM。 – 2011-02-23 02:22:08
啊,我明白了,謝謝:) – BobTurbo 2011-02-23 02:23:24