удалить весь текстовый узел из созданного текстового узла - PullRequest
0 голосов
/ 17 марта 2011
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);
    }
}

насколько правильно очистить или удалить созданные текстовые узлы ???

if (document.getElementById( 'rolec' )) {
    var rd = document.getElementById( 'rolec' );
    while (rd.firstChild) {
        rd.removeChild(rd.firstChild);
    }
}

С этим только первым и пустым значением

1 Ответ

0 голосов
/ 17 марта 2011

Если я правильно понимаю ваш вопрос, вы должны перебрать список дочерних узлов в обратном порядке, чтобы удалить их все по одному;

var rdChildren = rd.childNodes;
for( i = ( rdChildren.length - 1 ); i >= 0; i-- )
{
    rd.removeChild( rdChildren[i] );
}

Списки узлов DOM являются «живыми», то есть они обновляются при манипулировании DOM. Поэтому, чтобы поймать их всех, нужно бежать назад. ;)

...