Javasсriрt. Не отображаются элементы, присутствующие в DOM-е (IE-6)
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Javasсriрt. Не отображаются элементы, присутствующие в DOM-е (IE-6) - 2009-12-08 05:17:05.416666
|
|
|
mr_Anderson
Сообщений: 140
Оценки: 0
Присоединился: 2008-11-29 19:52:02.186666
|
Создаю, значит, с помощью document.createElement() и document.createTextNode() элементы, вкладываю их друг в друга(node.appendChild) и присобачиваю всё это дело к document.bоdу всё тем же appendChild-ом. Если это был, например, div, в котором лежит текст, то всё нормально отображается на экране. Если же это таблица(а в ней строка, а в ней td, а в ней текст), то тоже отображается, но только не в IE-6. Странно, что в дереве DOM все эти узлы присутствуют, а вот на экран почему то не показываются… Буду рад, если кто нибудь разъяснит мне сей феномен)
|
|
|
RE: JavaScript. Не отображаются элементы, присутствующие в DOM-е (IE-5) - 2009-12-08 10:29:57.350000
|
|
|
oRb
Сообщений: 4044
Оценки: 597
Присоединился: 2007-03-28 18:45:06.630000
|
IE 5???????? Это прикол?
|
|
|
RE: JavaScript. Не отображаются элементы, присутствующие в DOM-е (IE-5) - 2009-12-08 10:46:11.653333
|
|
|
Papa James
Сообщений: 438
Оценки: 0
Присоединился: 2009-12-07 13:36:18.370000
|
Насколько я помню - все версии IE некорректно добавляют ноды в таблицу. А IE 5… Где нашли-то его?!
|
|
|
RE: Javasсriрt. Не отображаются элементы, присутствующие в DOM-е (IE-5) - 2009-12-08 11:13:34.933333
|
|
|
Agent Smith
Сообщений: 976
Оценки: 0
Присоединился: 2007-04-10 21:56:49.593333
|
Скорее всего, вы пытаетесь всунуть в какой-то тег, то, что там не должно быть, а IE воспринимает это как ошибку. Приведу пример: <form action="…"> <table> <tr> <td id="insert"> </td> </tr> </table> </form> Если вы попытаетесь вставить "</td></tr></table><table><tr><td>" в элемент "insert" IE выдаст ошибку. Если попытаетесь вставить <form>…</form> в элемент "insert" IE тоже выдаст ошибку. Пишите правильно свои скрипты с грамотной HTML версткой и тогда у вас не будет возникать проблем с IE. P.S. Весь мир уже давно отказался от IE 5. У нас на работе за такое доплачивают:)
|
|
|
RE: Javasсriрt. Не отображаются элементы, присутствующие в DOM-е (IE-5) - 2009-12-08 13:30:27.683333
|
|
|
mr_Anderson
Сообщений: 140
Оценки: 0
Присоединился: 2008-11-29 19:52:02.186666
|
Прошу прощения - IE 6. Структура вложенности тегов такова: <table> <tr><td> <div>TextNode</div> <div>TextNode</div> <div>TextNode</div> </td></tr> </table> Вроде проще и грамотнее некуда… )
|
|
|
RE: Javasсriрt. Не отображаются элементы, присутствующие в DOM-е (IE-5) - 2009-12-08 14:07:02.833333
|
|
|
mr_Anderson
Сообщений: 140
Оценки: 0
Присоединился: 2008-11-29 19:52:02.186666
|
Вот, примерно так это происходит: <script type="text/javascript">
document.onLoad = func();
function func(){
var table = document.createElement('table');
var tr = document.createElement('tr');
var td = document.createElement('td');
var text = document.createTextNode('ТекстТруЛяЛя');
td.appendChild(text);
tr.appendChild(td);
table.appendChild(tr);
document.body.appendChild(table);
};
</script>
|
|
|
RE: Javasсriрt. Не отображаются элементы, присутствующие в DOM-е (IE-5) - 2009-12-08 15:15:56.210000
|
|
|
Papa James
Сообщений: 438
Оценки: 0
Присоединился: 2009-12-07 13:36:18.370000
|
function func(){
var table = document.createElement('table');
var tbody = document.createElement('tbody');
var tr = document.createElement('tr');
var td = document.createElement('td');
var text = document.createTextNode('тавтвааврвапва');
td.appendChild(text);
tr.appendChild(td);
tbody.appendChild(tr);
table.appendChild(tbody);
document.body.appendChild(table);
return false;
};
Надо создать TBODY :)
|
|
|
RE: Javasсriрt. Не отображаются элементы, присутствующие в DOM-е (IE-5) - 2009-12-08 17:11:58.883333
|
|
|
mr_Anderson
Сообщений: 140
Оценки: 0
Присоединился: 2008-11-29 19:52:02.186666
|
Офигеть!… А я и не знал, что у таблицы тоже своё Боди есть….)) Хотя теперь припоминаю, при анализе html-кода с помощю firebug я краем глаза замечал, как к таблицам прилипало это "тело", но почему то это быстро ускользало от моего внимания и я не удосужился сам в этом разобраться. Спасибо-приспасибо тебе, добрый человек!!) А нет ли в природе такого справочника хорошего со всеми возможными узлами и методами ветвистого DOM-дерева? Но только чтоб не самоучитель был с долгими нудными пояснениями и философскими рассуждениями а тупо чисто СПРАВОЧНИК. Ну, как у PHP, например есть…
|
|
|
RE: Javasсriрt. Не отображаются элементы, присутствующие в DOM-е (IE-5) - 2009-12-08 18:17:16.970000
|
|
|
Papa James
Сообщений: 438
Оценки: 0
Присоединился: 2009-12-07 13:36:18.370000
|
Не за что :) http://javascript.ru/ - хороший сайтик http://www.spravkaweb.ru/javascript/ - вот тоже ниче. НУ если пользуешься фреймворками, типа jQuery, - везде есть подробная документация
|
|
|
RE: Javasсriрt. Не отображаются элементы, присутствующие в DOM-е (IE-5) - 2009-12-08 18:18:32.826666
|
|
|
codeismy.name
Сообщений: 618
Оценки: 0
Присоединился: 2009-07-19 00:30:13.200000
|
mr_Anderson я предпологаю, что вашу проблемму надо решить несоклько другим способом. я тоже сталкивался с подобной проблеммой.. дело в том, что ИЕ до 8-й версии некорректно создаёт таблицы… ну или поля.. часто бывает так, что колспан вообще не учитывает при динамическом добавлении элементов.. для создания строк и ячеек есть другая кросбраузерная функция, отличная от createElement Для корректной вставки строй и ячеек существуют insertCell и insertRow
|
|
|
RE: Javasсriрt. Не отображаются элементы, присутствующие в DOM-е (IE-5) - 2009-12-08 20:44:51.983333
|
|
|
mr_Anderson
Сообщений: 140
Оценки: 0
Присоединился: 2008-11-29 19:52:02.186666
|
quote:
Для корректной вставки строк и ячеек существуют insertCell и insertRow Очень интересно! Я вообще только неделю назад JS юзать начал - не успел ещё достаточно освоиться. По этому не знал о существовании insertCell и insertRow. Спасибо большое! Буду пользоваться.
|
|
|
RE: Javasсriрt. Не отображаются элементы, присутствующие в DOM-е (IE-5) - 2009-12-09 09:59:58.493333
|
|
|
Papa James
Сообщений: 438
Оценки: 0
Присоединился: 2009-12-07 13:36:18.370000
|
Кстати, а проблема с созданием таблицы возникла "специально". То есть сделано было из-за соображений безопасности. Читал интервью (переведенное) разработчика, который отвечал за это - так он сам столкнулся с такой проблемой и только тогда вспомнил, что натворил :)
|
|
|
|
|