Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   аналог innerHTML (https://javascript.ru/forum/offtopic/4786-analog-innerhtml.html)

B~Vladi 21.08.2009 11:26

Riim, спасибо, впринципе всё понятно:)

Increazon 20.04.2010 14:56

Цитата:

Сообщение от Tim (Сообщение 27733)
хоть innerHTML и не входит в спецификации W3C его поддерживают все современные браузеры. Уверен будут поддерживать и дальше. Вообще не вижу причин заморачиваться.

Ты не видишь причин, а я охуевший сижу! Нужно менять текста в ячейке таблицы на джаваскрипт, в ИЕ7 пишет "Операция прервана. Не могу отобразить страницу." Так что поверь причины есть

Gvozd 20.04.2010 15:05

Increazon,
радиус кривизны слишком мал

Increazon 20.04.2010 15:16

Спасибо. Сделал. Вот код:
var ar2 =  JSON.parse(editStr, function (k,v) { return v; });
// now init the innerHtml numbers of door
updadeCellsDoorNumber();
function updadeCellsDoorNumber()
{
var temputnd;
var cuttd;
for (var i=1; i<=ar2_ln; i++)
{
	temputnd = document.createTextNode(guv(i,'door'));
	cuttd = $('td'+i);
	cuttd.replaceChild(temputnd,cuttd.firstChild);
	if ((guv(i,'status')=='reserved') || (guv(i,'status')=='sold'))
	{
		$('td'+i).style.backgroundColor = '#990000';
		$('td'+i).style.color = '#f4f4f4';
	}
	else $('td'+i).style.color = '#242021';
}
}


Дак если радиус кривизны мал, давайте все гавно делать, что в фаерфокс хорошо, то в ИЕ полная хуйня. ?

Gvozd 20.04.2010 15:24

<html>
<body>
<table>
<tr>
	<td id="td"></td>
</tr>
</table>
<script type="text/javascript">
document.getElementById('td').innerHTML='sdsad';
</script>
</body>
</html>

ну и где что не работает в IE?

Kolyaj 20.04.2010 15:54

У него, наверно, что-то вроде
<html>
<body>
<table>
<tr>
    <td id="td"><div><script type="text/javascript">
            document.getElementById('td').innerHTML='sdsad';
    </script></div></td>
</tr>
</table>

</body>
</html>

Increazon 20.04.2010 17:58

Проверил. Работает. Но если ты слышал о проблеме ИЕ7, он может через раз то выдавать ошибку, то показывать страницу. Лично я уже 2 раза столкнулся с таким приколом. А новое решение - универсально, и придерживается W3C. Я больше никогда не буду использовать innerHTML. Потому что всегда найдется лох который использует ИЕ, да еще и старых версий.

Gvozd 20.04.2010 18:12

На зеркало неча пенять, коли рожа крива.©

Kolyaj 20.04.2010 21:07

Цитата:

Сообщение от Increazon
Но если ты слышал о проблеме ИЕ7, он может через раз то выдавать ошибку, то показывать страницу.

Ошибка, о которой вы говорите, давно известна, и давно описано, в каких случаях она возникает. Один из таких случаев я привёл. Никаких через раз нет.

mycoding 28.05.2010 14:48

Хотел спросить, а как генерируются диалоги и другие виджеты в JQuery?
Через innerHTML или через createElements ?

Прочитал вот эту статью http://javascript.ru/optimize/javascript-performance
Т.е. обращение через createElements очень медленное будет по сравнению с innerHTML.

Например попробуем сделать диалоговое окно. Там надо как минимум раз 5 сделать элемент через createElements.
А в innerHTML всего один раз обратится к DOM и всё.
Ведь обращение к DOM очень медленное.
Подскажите, пожалуйста как лучше генерировать диалоговые окна, через какой метод и как это сделано в framework-ах?


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