【发布时间】:2016-03-23 02:29:16
【问题描述】:
我有一个函数应该在onfocus 事件中从<select> 中删除所有子元素。 (这很快就会用来自 AJAX 调用的值填充<select>)由于某种原因,它只在第一次调用它时删除一个元素,然后在所有后续调用中都不做任何事情。有没有人知道为什么会发生这种情况?
JS代码:
function handle(e) {
for(var i = 0; i < e.children.length - 1; i++) {
e.removeChild(e.children[i]);
}
}
【问题讨论】:
-
如果您删除 child[0],则 child[1] 立即变为 child[0]。使用 jQuery empty() 函数。
-
哦!!!!!!,所以我应该以相反的顺序删除它们。 (捂脸)
-
要删除选项,只需设置
select.options.length = 0或while (select.firstChild) select.removeChild(select.firstChild)或...哦,对于任何具有多个子元素的元素都是一样的。
标签: javascript dom-events