我的代码可以在IE中运行,但在Safari、Firefox和Opera中会崩溃。(惊喜)

document.getElementById("DropList").options.length=0;

经过搜索,我了解到它不喜欢的是长度=0。 我试过了……选项=null和var clear=0...长度=clear,结果相同。

我一次对多个对象这样做,所以我正在寻找一些轻量级的JS代码。


当前回答

这是一条很短的路:

document.getElementById('mySelect').innerText = null;

一行,没有for,没有JQuery,很简单。

其他回答

对于Vanilla JavaScript,有一种简单而优雅的方法来做到这一点:

for(var o of document.querySelectorAll('#DropList > option')) {
  o.remove()
}

这是一种现代的纯JavaScript

document.querySelectorAll('#selectId option').forEach(option => option.remove())

这是一条很短的路:

document.getElementById('mySelect').innerText = null;

一行,没有for,没有JQuery,很简单。

使用PrototypeJS:

$('yourSelect').select('option').invoke('remove');
while(document.getElementById("DropList").childNodes.length>0) 
{
    document.getElementById("DropList").removeChild(document.getElementById("DropList").childNodes[0]);
}