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:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">  
  2. <html xmlns="http://www.w3.org/1999/xhtml" lang="hu" xml:lang="hu">  
  3. <head>  
  4.         <title>Hírek</title>  
  5.         <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />  
  6.     <script type="text/javascript">  
  7.         function insertImage(container) {  
  8.             eImg = document.createElement('img');  
  9.             eImg.setAttribute('src','kep.png');  
  10.             eImg.setAttribute('alt','');  
  11.             container.appendChild(eImg);  
  12.         }  
  13.     </script>  
  14. </head>  
  15. <body>  
  16.         <div id="container" onclick="insertImage(this);">  
  17.         Ez a konténer  
  18.         </div>  
  19. </body>  
  20. </html>  
Eredmény néhány kattintás után:
  1. ...  
  2. <div onclick="insertImage(this);" id="container">  
  3. Ez a konténer  
  4. <img src="/kep.png" alt="">  
  5. <img src="/kep.png" alt="">  
  6. <img src="/kep.png" alt="">  
  7. </div>  
  8. ...  
Hogy kéne jól csinálni?
 
1

createElementNS a megoldás

Babar · 2005. Okt. 3. (H), 15.42
Közben megtaláltam:
  1. function insertImage(container) {  
  2.     eImg = document.createElementNS('http://www.w3.org/1999/xhtml','img');  
  3.     eImg.setAttribute('src','kep.png');  
  4.     eImg.setAttribute('alt','');  
  5.     container.appendChild(eImg);  
  6. }  
Í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 ?