Njaahhh ... det er nu egentlig helt legalt. CSS opstiller ikke begrænsninger for, hvilke elementer, der kan modtage baggrundsbileder - og det gør (X)HTML heller ikke. Der er i princippet ikke grænser for, hvilke elementer, der kan modtage et baggrundsbillede - sålænge de kan renderes visuelt.
Derimod har (X)HTML helt klare regler for, hvilke elementer et givet element må indeholde. Her er det fuldstændig i skoven, når man kan indlejre en hel tabel i et option-element (eller for den sags skyld i et input-element).
For at understrege, hvor elendig FF og dens DOM-håndtering er, kan vi da også se på dette lille eksempel:
<div>
<input id="inp" type="text">
</div>
<script type="text/JavaScript">
var im, inp = document.getElementById("inp");
im = document.createElement("img");
im.setAttribute("src", "
http://www.eksperten.dk/img/elogo.png");
inp.appendChild(im);
alert(inp.parentNode.innerHTML);
alert(im.parentNode.tagName);
</script>
- læg godt mærke til de to alerts!
FF er helt rundt på gulvet og fatter ikke, hvad den selv har foretaget, når innerHTML'en af billedets parent-element skal alert'es.
På den anden side er der ingen tvivl om, hvor billedet er blevet anbragt, når parent-elementets tagName skal alert'es ... eller når man betragter det visuelle resultat af øvelsen.
Men andre ord kan det konkluderes, at FF's DOM-håndtering er komplet autonom og ikke følger nogen somhelst regler.
Ikke fordi et OpenSource-projekt ikke kan styres, men det er helt tydeligt, at der i FF's gruppe sidder en del uvidende jubeltåber!
Det seneste nummer, de har lavet, er at implementere innerHTML-property'en i FF's (såkaldte) XHTML-DOM ... på trods af, innerHTML ikke er del af nogen eksisterende standard og strider diamentralt mod hele DOM-tanken (at alt skal betragtes som noder - og ikke strenge).
Netop den slags tåbeligheder - hvor browserleverandører forsøger at 'please' dårlige kodere og redde deres dårlige arbejde - er hovedårsagen til min afstandtagen fra at skrive XHTML, som WWW ser ud idag. Jo mere fejlfyldt folks kodning bliver, jo mindre stringente plejer browserne historisk set at blive - og vi ender op med browsere fyldt med proprietære properties og metoder.
Rigtig mange tror idag, de skriver XHTML, selvom deres kode ville smadre enhver browser, der forsøger at tolke koden som XHTML. Der skal ikke megen fantasi til at forestille sig, hvordan fremtidens browsere kommer til at se ud, hvis den udvikling fortsætter.
Aldrig har man haft bedre chance for at få indført stringente standarder, der kan overholdes ... aldrig har der været gjort mere for at spilde sådan en chance på gulvet! :o|
- og kan vi så ikke godt blive fri for kritikløs, lam jubel over FF's fortræffeligheder? Sandheden er, at den ikke er væsentlig bedre end IE ... den væsentligste forskel er, at der ikke står MS i About-dialogen ;o)