for (var x in myOpts) {
if(myOpts.hasOwnProperty(x)) {
var t = document.createElement("OPTION");
t.setAttribute("id",x);
t.value = x;
t.appendChild(document.createTextNode(myOpts[x]));
selectObj.appendChild(t);
}
}
如何正确清除或删除createdTextNodes ???
if (document.getElementById( 'rolec' )) {
var rd = document.getElementById( 'rolec' );
while (rd.firstChild) {
rd.removeChild(rd.firstChild);
}
}
这只有第一个而且是空值
答案 0 :(得分:0)
如果我正确理解了您的问题,您必须以相反的顺序迭代子节点列表,逐一删除它们;
var rdChildren = rd.childNodes;
for( i = ( rdChildren.length - 1 ); i >= 0; i-- )
{
rd.removeChild( rdChildren[i] );
}
DOM节点列表是“实时”,意味着它们在您操作DOM时会更新。所以要抓住他们,你必须倒退。 ;)