我有简单的问题,我正在寻找优雅的解决方案。
我的HTML中有列表。我使用jquery将其项目映射到数组中。所以我有一些对象。然后我为每个项目制作(再次使用jquery)按钮。所以我有成对,项目和按钮在每对。
现在让我们假设,我想制作结构,将这些对以某种方式链接在一起。因此,如果我使用jquery选择任何元素,那么我将能够找到与之关联的元素。我还有一些想法,但看起来太复杂了。我正在寻找设计模式或非常接近它的东西。
HTML结构:
<ul>
<li>item 1</li>
<li>item 2</li>
<li id="active">item 3</li>
</ul>
到目前为止,我的想法在javascript / jquery中无效(它非常简化):
var list = [];
$('li').each(function() {
list.push($(this));
});
// this should be object, that links list items with buttons
var linker = {};
for (var item in list) {
var button = $('<button>Do something!</button>');
// this part is crazy O.o
linker[list[item]] = button;
linker[button] = list[item];
// it doesnt work, becouse toString() function make from any of these objects "[object Object]"
}
// Now code like this should be able to find button that belongs to item 3
var active = $('#active')[0];
var result = linker[active];
请告诉我最简单的方法,如何在不触及其属性的情况下将两个对象链接在一起。感谢您的帮助。