Może pytanie jest sformułowane niepoprawnie, ale tutaj jest to, co usiłuję zrobić z jQuery:Jak przekonwertować ciąg znaków <br> na rzeczywisty kod HTML <br> za pomocą jQuery?
Punkt wyjścia:
This is<br><br> some<br> <br> <br> <br> content
Koniec Cel:
This is
some
content
Objaśnienie:
Dokładniej, mam problemy z pracą z zawartością w div, która następnie zamienia się w obszar tekstowy podczas edycji, a następnie z powrotem na div po zakończeniu edycji. Baza danych musi przechować znaczniki br> < przy zapisie ... wydaje się, że textareas używają nowych linii (\ n) i zwraca (\ r), więc konwersja między nimi (< br>, \ n i \ r) staje się trochę problemu dla mnie.
Czy istnieje odpowiedni sposób na obsłużenie tego między wieloma przeglądarkami? Być może łatwiej będzie po prostu użyć textarea przez cały czas (i zapomnieć o div)? To jest, gdy próbuję przenieść zawartość między div i textarea, a następnie z powrotem do div, funky rzeczy zaczynają się dziać z odstępami.
Więcej szczegółów Edit:
Jeśli użytkownik kliknie zmienił i zmienia oryginalnego div do textarea, zaczną dokonywania zmian i kliknij zrobić, ale zdecydujesz się anulować edycję i powrócić do starej zawartości zamiast. Textarea zamienia się z powrotem w div, a stara zawartość (przechowywana w ukrytym div) zastępuje to, co napisał użytkownik. Stąd te same treści.
Edit:
Bardzo zwrotne, dziękuje wszystkim! Wolałbym nie korzystać z css, ponieważ musi działać na stronach, które zostały już opracowane i wymagają edycji na wszystkich elementach div przechowujących zawartość na każdej stronie. < br> muszą być zapisane w bazie danych.
Wskazałeś na problem! Obszar tekstowy używa \ r jako podział wiersza. HTML używa
– TCHdvlp
Czy próbowałeś czegoś takiego jak '.replace (/ \ n/g,"
")'? –
Możesz użyć 'white-space: pre-line;' na div i nie martw się o przechowywanie go jako '
'. ;-) –