Sven Rautenberg: Problem gelöst (was: Darstellungsproblem von Grafiken)

Beitrag lesen

Moin!

Ist aber trotzdem irgendwie nicht Sinn der Sache, dass Zeilenumrüche als Leerzeichen interpretiert werden, oder? Gerade für "Quellcodeperfektionisten" ;)

Doch, das ist Sinn der Sache. Es gibt bei Bugzilla irgendwo eine heftige Diskussion darüber, warum beispielsweise folgender Code:

<div>
<span>irgendwas</span>
</div>

unter Javascript das Problem macht, daß man mit firstChild() wider Erwarten nicht auf das <span> zugreifen kann, sondern damit den Zeilenumbruch erhält.

Der DOM-Baum sieht dort nämlich so aus[1]:
<div>
+-- Leerzeichen
+-- <span>
|   +-- 'irgendwas'
+-- Leerzeichen

Es gab heftigen Streit, warum Mozilla das so macht, wie er es macht, und weshalb man das nicht ändern könne. Letztendlich wurde als Ergebnis hervorgebracht: Wer das richtige firstChild() will, muß eben <div><span>irgendwas</span></div> schreiben, denn wer eine Leerzeile einbringt, meint das vielleicht genau so, weil er später dort was neues einfüllen will.

Außerdem ist dein Problem ja nichts grundsätzlich Neues. Wer in Tabellenzellen Grafiken ohne zusätzlichen Rand einfügen will, muß ebenfalls die <td>s ohne Leerzeichen ums <img> herum setzen.

- Sven Rautenberg

[1] Ich hab von DOM-Bäumen nicht wirklich viel Ahnung, also möge man mir die endlich vielen Fehler in der Darstellung verzeihen. :) Das Prinzip dürfte aber stimmen.