Avatar billede raos Nybegynder
21. januar 2003 - 20:55 Der er 12 kommentarer og
1 løsning

Hvorfor kan man ikke?

.. gøre følgenden?


<HTML>
<HEAD>
<SCRIPT language=JavaScript>
function fncTest(){   
    var sTemp = ""   
    sTemp += "<tr><td>"
    sTemp += "TEKST"    
    sTemp += "</td></tr>"    

    document.all.testSpan.innerHTML = sTemp;   
}
</SCRIPT>
</HEAD>

<body onload="java script:fncTest()">   

<table>
    <Span id=testSpan></Span>
</table>

</BODY>
</HTML>
Avatar billede angam Nybegynder
21. januar 2003 - 20:56 #1
Det kan du også, hvis du sætter NAME i din span:

    <Span id=testSpan anme=testSpan></Span>
Avatar billede angam Nybegynder
21. januar 2003 - 20:56 #2
.. skulle være name - lol
Avatar billede raos Nybegynder
21. januar 2003 - 20:59 #3
Det gør ingen forskel. Prøve dette kode:




<HTML>
<HEAD>
<SCRIPT language=JavaScript>
function fncTest(){   
    var sTemp = ""   
    sTemp += "<tr><td>"
    sTemp += "TEKST"    
    sTemp += "</td></tr>"    
    alert('sTemp: ' + sTemp)
    alert('innerHTML FØR: ' + document.all.testSpan.innerHTML)
    document.all.testSpan.innerHTML = sTemp;   
    alert('innerHTML EFTER: ' + document.all.testSpan.innerHTML)
}
</SCRIPT>
</HEAD>

<body onload="java script:fncTest()">   

<table>
    <Span id=testSpan name=testSpan></Span>
</table>

</BODY>
</HTML>
Avatar billede angam Nybegynder
21. januar 2003 - 21:00 #4
Så må du skrive tydeligere hvad det er man ikke kan ;-)
Avatar billede raos Nybegynder
21. januar 2003 - 21:01 #5
hehe - good point
Problemet er at "innerHTML=" hugger "<tr><td>" af!!
Avatar billede angam Nybegynder
21. januar 2003 - 21:14 #6
hmm ...

Jeg er ikke helt med. Hvordankan du se den hugger <tr><td> af??

Her (stort set) samme kode med <b>..</b> - de er ihvertfald synlige:


<HTML>
<HEAD>
<SCRIPT language=JavaScript>
function fncTest(){   
    var sTemp = "";
    sTemp += "<tr><td><b>";
    sTemp += "TEKST";   
    sTemp += "</b></td></tr>";   
    testSpan.innerHTML = sTemp;
}
</SCRIPT>
</HEAD>

<body onLoad="fncTest();">   
<table>
    <Span id=testSpan name=testSpan>none</Span>
</table>
</BODY>
</HTML>
Avatar billede raos Nybegynder
21. januar 2003 - 21:18 #7
korrekt, men prøv at indsætte

alert(testSpan.innerHTML);

efter linien

testSpan.innerHTML = sTemp;

så er "<tr><td>" forsvundet
Avatar billede angam Nybegynder
21. januar 2003 - 21:22 #8
Du har ret - spooky!
Avatar billede angam Nybegynder
21. januar 2003 - 21:26 #9
.. hvis du sætter table() med, så gør den:
    sTemp = '<table><tr><td>TEKST</td></tr></table>';

.. men ret spooky! Det har jeg ikke oplevet før!
Avatar billede angam Nybegynder
21. januar 2003 - 21:31 #10
Aaahh - mon ikke det er fordi <span> og <div> i DOMen fungerer som seperate documenter? Så ser de ikke det omkringliggende <table>-element, og følgelig kan DOMen ikke rendere <tr><td>?

Strengt taget er det jo også forkert at skrive <table><span>... - det bør værer <span><table> - men stadigvæk: det er underligt at det giver lige dén opførsel!
Avatar billede olebole Juniormester
21. januar 2003 - 22:18 #11
<ole>

Prøv:

<SCRIPT language=JavaScript>
function fncTest(){   
    var sTemp = ""   
    sTemp += "<tr><td>"
    sTemp += "TEKST"   
    sTemp += "</td></tr>"   

    document.all.myTbl.innerHTML = sTemp;   
}
</SCRIPT>

<table id="myTbl">
</table>

/mvh
</bole>
Avatar billede raos Nybegynder
21. januar 2003 - 22:20 #12
det virker bedre
Avatar billede olebole Juniormester
21. januar 2003 - 22:22 #13
Du kan ikke skrive:

<table>
<span>
<tr>
    <td>TEST</td>
</tr>
<span>
</table>

Det har ikke noget med HTML at gøre.

Og så slet dit 'java script:' i din onload-handler. Det har intet at gøre i en event-handler og er noget slemt vrøvl  ;o)
/mvh
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester