【发布时间】:2016-10-26 00:41:33
【问题描述】:
所以我需要类似于 Facebook Messenger 的齿轮按钮的东西,只有当对话框悬停或当前处于活动状态时才能看到(只是为这些词提供图像),但我如何将按钮与该对象相关联?对象嵌套真的让我很困惑。这就是我现在的样子。
table_data {
item_1: { fruits: [ {}, ..., {} ]},
item_2: { fruits: [ {}, ..., {} ]},
...
...
item_n: { fruits: [ {}, ..., {} ]},
}
每个item 都是一个div,有3 个按钮:
- 删除 - 删除项目和所有内容
- 选项 - 打开弹出选项菜单
- 扩展 - 扩展当前
item以显示fruits对象数组
用户输入一个新的item,然后可以选择将对象添加到fruits 数组。
document.getElementById("save").addEventListener("click", function() {
table_data[newItem] = { fruits:[] };
appendHTML(newItem);
// helper function that appends HTML
}
所以在选项下,用户可以“添加水果”。我如何才能将“添加水果”关联到正确的项目,因为“选项”按钮只是附加了 HTML。
如果有帮助,辅助函数如下所示。
function appendHTML(item) {
$("#list").append('<li class="enter"><div class="listContent"><a href="#" class="close"></a><span class="itemName">'+item+'</span></a><a href="#" id="expand"></a><a href="#" id="gear"></a></div></li>');
}
如果将来有人碰巧需要这个问题的答案......
$(document).on('click', "#list > li > .listContent > .gear", function() {
$(this).next().slideToggle();
});
【问题讨论】:
标签: javascript jquery html arrays object