Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] ie + innerHTML + pre
Forum PHP.pl > Forum > Przedszkole
nmts
Mam div:
  1. <div class='code'>treść</div>
  2.  
  3. .code {
  4. display: inline-block;
  5. white-space: pre;
  6. }


Chce zmienić treść. Jednak nie mogę zmienić treści za pomocą innerHTML, bo IE gubi wtedy wszystkie białe znaki.

Jakiś pomysł?

bastard13
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
  1. str = this.innerHTML;
  2. str = str.replace(/\r?\n/g, '<br />');
  3. this.innerHTML = str;


Niestety powyższy kod nie działa w IE7. Dlaczego? :|
michaJlS
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.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.