0

我使用 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>
4

2 回答 2

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);
});

演示:http: //jsfiddle.net/hungerpain/JKHuR/

于 2013-06-23T19:19:53.253 回答
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/

于 2013-06-23T19:13:17.363 回答