我使用div创建了一些列,并使用子div填充了单元格 我想要做的是每列只能选择一个单元格,
$('div.kim2bb').on('click', function(){
el.push($(this).attr('id'));
console.log(el);
parent.push($(this).parent().attr('id'));
console.log(parent);
});
当父数组获得重复成员时,我想用el数组中相同父元素的后者替换前者。
<div id="a0" class="kim2b">
<div id="a1" class="kim2bb">Incompetent</div>
<div id="a2" class="kim2bb">Incapable</div>
<div id="a3" class="kim2bb">Disabled</div>
<div id="a4" class="kim2bb">Not adult</div>
<div id="a5" class="kim2bb">None above</div>
</div>
答案 0 :(得分:1)
如果我理解正确,您希望存储所有父ID和最后选择的每个父级子div。我建议像单个JS对象一样:
var selects = {};
$('div.kim2bb').on('click', function(){
selects[$(this).parent().attr('id')] = $(this).attr('id')
for (var key in selects) {
if (selects.hasOwnProperty(key)) {
console.log(key + " -> " + selects[key]);
}
}
});
您可以在此处进行测试:http://jsfiddle.net/qXSPr/2/
答案 1 :(得分:1)
考虑这样做。您可以使用一个数组来映射键值对中的parent
和child
:
var elGroups = [];
$('div.kim2bb').on('click', function () {
var parent = $(this).parent().attr('id');
var element = $(this).attr('id');
elGroups[parent] = element;
console.log(elGroups);
});