Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   <TBODY> в IE (https://javascript.ru/forum/dom-window/4399-tbody-v-ie.html)

HelpeR 19.07.2009 00:51

<TBODY> в IE
 
Здравствуйте всем!
Если взгляните сюда через FF и IE, то будет ясно в чем проблема. Почему в IE текст ломается, в принципе я обнаружил ошибку, но устранить не получается.
Я вывел HTML код выплывающей таблицы и она начинается таким образом <TBODY>......</TBODY> я скопировал эту таблицу и вставил в dreamweaver и он показал какую то обломанную таблицу, но стоило только заменить <TBODY> на <table> то все заработало. IE автоматически вставляет <TBODY> в каждую таблицу, но почему он тогда криво отображает ее?

x-yuri 19.07.2009 02:44

да, ie автоматически вставляет TBODY. Зачем тебе eval? valign -> style.verticalAlign, colspan -> colSpan, cellspacing -> cellSpacing (и дальше, по аналогии). Внешний вид можно с помощью css задать. Я бы попробовал эту таблицу как-нибудь с помощью innerHTML создать. Не обязательно использовать setAttribute, можно менять свойства

HelpeR 19.07.2009 10:58

style.verticalAlign работает не во всех браузерах. А css не хочу использовать, что бы не подключать два файла для работы скрипта. Да конечно можно можно даже готовый html код приравнять переменной, но мне хочется разобраться в чем же тут дело????

x-yuri 19.07.2009 15:44

Цитата:

Сообщение от HelpeR
но мне хочется разобраться в чем же тут дело????

в том, что не работают setAttribute('colspan'), setAttribute('cellspacing')
использование setAttribute сомнительно

HelpeR 19.07.2009 18:53

x-yuri,
спасибо очень полезная статья, буду исправлять!

HelpeR 19.07.2009 21:46

оказывается вся заморочка заключалась в этих трех сроках
this.table.rows[0].cells[1].colSpan = 2;
this.table.cellSpacing = 0;
this.table.cellPadding = 0;

HelpeR 20.07.2009 20:18

Цитата:

Зачем тебе eval?
А как бы ты присвоил свойства стилей к this.table имея такой объект
this.tblStyle = {
		position : 'absolute',
		display : 'none',
		opacity : '0',
		filter : 'alpha(opacity=0)',
		fontFamily : pr_font,
		fontSize : '11px',
		color : pr_font_color,
		border : '0px'
	}

x-yuri 20.07.2009 20:39

for(var k in this.tblStyle)
    this.table.style[ k ] = this.tblStyle[ k ];

можно даже функцию extend создать
p.s. кроме того, непонятно, зачем в this записывать что-то, если оно в дальнейшем не используется (this.tblStyle, например)


Часовой пояс GMT +3, время: 06:05.