nmts
27.08.2010, 22:08:28
Mam div:
.code {
display: inline-block;
white-space: pre;
}
Chce zmienić treść. Jednak nie mogę zmienić treści za pomocą innerHTML, bo IE gubi wtedy wszystkie białe znaki.
Jakiś pomysł?
bastard13
27.08.2010, 23:10:13
Rozumiem, ze chodzi ci o wielokrotne spacje, tabulatory i znak nowej lini?
preg_replace i zamieniaj \n na <br>, \t na &# 9; (bez spacji), a spacje na
nmts
28.08.2010, 09:55:59
str = this.innerHTML;
str = str.replace(/\r?\n/g, '
<br />');
this.innerHTML = str;
Niestety powyższy kod nie działa w IE7. Dlaczego? :|
michaJlS
28.08.2010, 14:43:06
Ja bym tam radził zamiast takiego dziwnego diva dać pre. I zamiast innerHtml spróbować textContent
https://developer.mozilla.org/En/DOM/Node.textContent (ale nie wiem czy to zadziała). A jako że w html kilka białych znaków pod rząd to i tak jeden, to pewnie IE sobie je wycina.