Frage

Ich versuche, den Innertext eines div auf den Zeilenumbrüchen in der Quelle für sie zu spalten. Dies funktioniert gut mit:

$('div').text().split("\r\n|\r|\n")

Aber nicht in IE 7, aufgrund der Zeilenumbrüche offenbar abgestreift wird. jQuery 1.3.2 erscheint nicht schuld zu sein, da ich auch versucht, beide:

$('div')[0].innerText.split("\r\n|\r|\n")

und

$('div')[0].innerHTML.split("\r\n|\r|\n")

Man zündet auch nicht eine der oben genannten Arbeit, wenn ich das div zu einem vorher ändern.

Es scheint, dass die Zeilenumbrüche sind, sobald die Quelle in das DOM analysiert wird. :( Ist das so? Gibt es keine Möglichkeit, sie mit Javascript zu bekommen?

War es hilfreich?

Lösung

Newlines sind Leerzeichen, und sind im Allgemeinen nicht erhalten. Sie bedeuten das gleiche wie ein Raum der Fall ist.

Andere Tipps

Versuchen Splitting auf "\n" statt "\r\n".

, beides zu tun, betrachtet Aufspaltung auf dem Muster "\r?\n".

IE tut Zeilenumbrüche in Elementgehalt verlieren, außer:

  • in pre (und plaintext, nicht, dass das jemals in diesem Jahrhundert verwendet wird)
  • in textarea, wo es auch unechte ‚\ r fügt hinzu, die auf ihren eigenen Charakter-Zählwerke zählen nicht

Doch unabhängig davon, dass dies nicht funktionieren wird:

  

split ( "\ r \ n | \ r | \ n")

JavaScripts String.split, im Gegensatz zu Java, nimmt eine einfache Trennzeichenfolge, nicht ein RegexMuster.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top