ugrás a tartalomhoz

appendChild XHTML-ben

Babar · 2005. Okt. 3. (H), 11.55
JavaScript-ből szúrnék be tag-eket XHTML oldalba, de az a bajom, hogy a createElemnet-appendChild függvények eredményeként HTML elemek kerülnek be (<br> a <br /> helyett pl)

Azért baj, mert az így készült kódot aztán felhasználnám és ott hibás lesz ettől az oldal.

Például:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="hu" xml:lang="hu">
<head>
        <title>Hírek</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
    <script type="text/javascript">
        function insertImage(container) {
            eImg = document.createElement('img');
            eImg.setAttribute('src','kep.png');
            eImg.setAttribute('alt','');
            container.appendChild(eImg);
        }
    </script>
</head>
<body>
        <div id="container" onclick="insertImage(this);">
        Ez a konténer
        </div>
</body>
</html>
Eredmény néhány kattintás után:

...
<div onclick="insertImage(this);" id="container">
Ez a konténer
<img src="/kep.png" alt="">
<img src="/kep.png" alt="">
<img src="/kep.png" alt="">
</div>
...
Hogy kéne jól csinálni?
 
1

createElementNS a megoldás

Babar · 2005. Okt. 3. (H), 15.42
Közben megtaláltam:

        function insertImage(container) {
            eImg = document.createElementNS('http://www.w3.org/1999/xhtml','img');
            eImg.setAttribute('src','kep.png');
            eImg.setAttribute('alt','');
            container.appendChild(eImg);
        }
Így jól csinálja.
Ezzel csak az a baj, hogy ilyet meg ie nem tud - ha jól sejtem.

-------------------
Babar
2

IE meg az XHTML

attlad · 2005. Okt. 3. (H), 16.17
Hát igen, Explorerben sajnos nem sikerült implementálni 2005 végére se a 2000-es XHTML ajánlás támogatását. Természetesen IE 7-be se tervezik megcsinálni. HTML-t célszerű használni, ha nem szükséges az XHTML.

Attila
3

<Nincs cím>

Anonymous · 2005. Okt. 3. (H), 17.00
Esetleg InnerHTML ?