清除选项而不清除它们的引用

时间:2012-08-24 14:04:27

标签: javascript dom

我有一个包含select元素选项的变量:

var allOptions = document.getElementById('ddl').options;

当我删除选项时

var selector = document.getElementById('ddl');
selector.options.length = 0;

allOptions中的选项也会被删除。

我该如何避免?

1 个答案:

答案 0 :(得分:2)

您可以使用cloneNode创建原始select节点的精确副本。这样,您可以安全地清除下拉列表,而不会影响包含原始选项的变量:

var originalOptions = document.getElementById('ddl').cloneNode(true).options;

<强> DEMO