Javascript在数组外部调用的数组中添加和删除值

时间:2015-03-16 05:15:40

标签: javascript html arrays

我正在将一堆spans添加到div层,其中包含appendchild,如下所示:

var newSent = document.createElement("SPAN");
var current = document.createTextNode(sentInput.value);
newSent.style.backgroundColor = sentColor;
newSent.className = "sentSpan";
newSent.id = count - 1;
newSent.appendChild(current);
outputBox.appendChild(newSent);

其中outputBox是div图层的名称,sentInput是输入文本框的当前值。我需要每个这些跨度都可以单击,然后从数组中删除它们的值。目前我有一个事件监听器:

delCount = 0;
newSent.addEventListener("click", function(){
    var x = parseInt(newSent.id);

    sentCount.splice(x - delCount, 1);
    sentNum.splice(x - delCount, 1);

    delCount = delCount + 1;

    newSent.remove(x);
});

我的想法是,每次删除一个span时,delCount都会上升以补偿现在更小的数组。

经过几次删除后,这种方法效果不佳......我似乎无法弄清楚数学或处理变化数组的正确方法。单击两个或三个跨度后,我最终删除与其旁边的跨度关联的数组中的值,但成功删除了跨度本身。此数组显示在图表上,因此正确显示它是至关重要的。

我暂时让数组用" 0"替换已删除的值。哪个效果很好,但是我需要它们才能显示在数组中。非常感谢任何帮助!

编辑:添加了一个jsfiddle http://jsfiddle.net/eL11o6mu/虽然在一个小窗口中显示看起来很糟糕......

0 个答案:

没有答案