#javascript #internet-explorer
#javascript #internet-explorer
Вопрос:
document.getElementById("row").innerHTML = "";
Это приводит к тому, что IE выдает «Неизвестную ошибку времени выполнения».
Я знаю, что это известная ошибка, но есть ли какое-либо обходное решение (кроме очевидного использования div вместо этого).
Отлично работает во всех других браузерах.
Ответ №1:
Вместо того, чтобы «уничтожать» строку подобным образом, просто скройте ее:
document.getElementById("row").style.display = "none";
Тот же конечный результат (строка исчезнет из поля зрения), не слишком вмешиваясь в DOM.
Редактировать: другой способ «очистить» элемент:
var row = document.getElementById("row");
while (row.childNodes.length > 0)
row.removeChildNode(row.childNodes[0]);
Должен быть как можно более кроссбраузерным — живой пример.
Комментарии:
1. Поскольку я перестраиваю его позже, он должен начинаться пустым.
2. Спасибо за помощь, я только что использовал jQuery для выбора. Ужасный IE.
3. Приветствия, jQuery действительно лучше, поскольку вам больше не нужно выполнять всю грязную работу. 🙂
Ответ №2:
можете ли вы предоставить используемый вами HTML-код? Есть ли причина, по которой вы не можете использовать jQuery?
может быть, вы могли бы использовать:
document.getElementById('table1').deleteRow(_row.rowIndex);
Комментарии:
1. Код есть. Я могу использовать jQuery, но это очень простая функция