将数据或数组索引附加到锚标记

我有一些javascript / jquery代码,用一堆列表项动态填充无序列表。 在列表项中我有一个链接,我想将一些数据与生成的链接相关联,如下所示:

var thing1 = { name: 'My Object' }; var thing2 = { name: 'My Other Object' }; var li = $('

  • '); var aSel = $('' + thing1.name + '
    Add Deal'; li.append(aSel); li.append(add); $('#sidebar').append(li); //This is in a loop so the same thing would happen with thing2, etc

    会像这样生成HTML:

     

    因此,如果用户单击第一个Add Deal链接,我想在脚本的其他位置使用thing1数据。 如果点击了第二个链接,我想使用thing2数据。

    我要走的路径涉及一个数组和一些对我来说不太合适的代码。 我想我错过了一些微不足道的东西。

    您可以使用jQuery.data函数将“事物”附加到每个链接。 在var aSel =行之后:

     $('a', aSel).data('thing', thing1); // Select the anchor tag inside of // aSel and attach thing1 to it 

    然后在单击锚标记时,使用以下命令检索它: var thing = $(this).data('thing');

    您可以使用HTML5自定义数据属性(data- *)来实现您想要的效果。

    特别关注使用JavaScript使用数据属性。