Я использовал elem.removeChild()
для удаления элементов из моего документа, но сохранил ссылку JavaScript на этот элемент, чтобы я мог добавить их обратно, когда это необходимо. Прекрасно работает в Firefox и Chrome.
Теперь я заметил, что в IE7 эти элементы уничтожаются при удалении всех их дочерних элементов. Когда я добавляю их обратно в тот же родительский элемент, они относятся к элементу того же типа и сохранили такие вещи, как имя класса, но у них нет дочерних элементов.
Это ожидаемое поведение? Я знаю, что могу изменить свое приложение, чтобы сделать что-то по-другому, но это заняло бы пару часов переделки, и я, очевидно, хотел бы этого избежать. Я всегда предполагал, что это нормально, чтобы удалить элементы, либо с помощью removeChild()
, либо путем установки родительского элемента innerHTML
в пустую строку, и до тех пор, пока у меня была ссылка на элемент (т.е. переменная указывает на элемент, а не просто идентификатор элемента), можно было свободно добавлять и удалять элементы, не запутав элемент.
Это ошибка в IE, я как-то запутался и что-то еще происходит, или это известное и ожидаемое поведение?