我有简单的问题,我正在寻找优雅的解决方案。
我的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];
请告诉我最简单的方法,如何在不触及其属性的情况下将两个对象链接在一起。谢谢你的帮助。