为什么这不会从 <select> 元素中删除所有项目?
Why doesn't this remove all of the items from the <select> element?
我有一个函数应该从 onfocus
事件的 <select>
中删除所有子元素。 (这很快就会用 AJAX 调用的值填充 <select>
)出于某种原因,它只在第一次调用时删除其中一个元素,然后继续不执行任何操作所有后续调用。有谁知道为什么会发生这种情况?
JS代码:
function handle(e) {
for(var i = 0; i < e.children.length - 1; i++) {
e.removeChild(e.children[i]);
}
}
所以答案只是以相反的顺序删除它们,以避免与 VB.NET 列表 Class 非常相似的索引系统的影响。 (也就是说,每次进行更改时它都会重新组织。
我猜 handle()
是您的 onfocus
事件处理程序。在这种情况下 e
是您的事件对象并且没有任何 children
属性
为什么不直接使用 select.innerHTML = ""
我有一个函数应该从 onfocus
事件的 <select>
中删除所有子元素。 (这很快就会用 AJAX 调用的值填充 <select>
)出于某种原因,它只在第一次调用时删除其中一个元素,然后继续不执行任何操作所有后续调用。有谁知道为什么会发生这种情况?
JS代码:
function handle(e) {
for(var i = 0; i < e.children.length - 1; i++) {
e.removeChild(e.children[i]);
}
}
所以答案只是以相反的顺序删除它们,以避免与 VB.NET 列表 Class 非常相似的索引系统的影响。 (也就是说,每次进行更改时它都会重新组织。
我猜 handle()
是您的 onfocus
事件处理程序。在这种情况下 e
是您的事件对象并且没有任何 children
属性
为什么不直接使用 select.innerHTML = ""