使用jquery进行“div”验证

时间:2013-06-23 18:34:30

标签: jquery arrays duplicates

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

2 个答案:

答案 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)

考虑这样做。您可以使用一个数组来映射键值对中的parentchild

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/