|
Verfasst am: 12.04.2003 [23:22]
|
|
-=[::::)SASUKI(::::]=-
Themenersteller
Dabei seit: 30.10.2002
Beiträge: 499
|
hi,
ich hab ein kleines problem mit JS, also ich hab folgenden code da stehen:
[code:1:9addb0e4d2]function test(cell)
{
value = "<span style='font-weight: bold'>TESTTESTTEST</span>";
document.getElementById(cell).replaceChild(document.createTextNode(value), document.getElementById(cell).firstChild);
}
</SCRIPT>
<body id="body" onLoad="test('cell')">
<TABLE BORDER="0">
<TR>
<TD id="cell">
</TD>
</TR>
</TABLE>
</body>
</HTML>[/code:1:9addb0e4d2]
ich wollte jetzt eigentlich das der text TESTTESTTEST jetzt dick erscheint, aber der text wird nicht in den quelltext gesetzt bzw. werden < und > durch < und > ersetzt.
Meine Frage:
Wie kann ich es hinkreigen, das value in den quelltext geschreiben wird.
danke
sasuki
|
|
Verfasst am: 13.04.2003 [09:42]
|
|
joe
Dabei seit: 07.04.2002
Beiträge: 1225
|
Ersetz mal das [code:1:c81d8040b0]document.getElementById(cell).replaceChild(...);[/code:1:c81d8040b0] durch [code:1:c81d8040b0]document.getElementById(cell).innerHtml = value;[/code:1:c81d8040b0]
Alternativ kannst Du statt [TT]innerHtml[/TT] auch [TT]innerText[/TT] benutzen. Das hat allerdings eine etwas andere Funktionsweise (den genauen Unterschied hab ich grad nicht mehr im Kopf - sollte aber in jedem JS-Manual nachzulesen sein).
Achja, noch was: ich hatte schon des öfteren Probleme mit Funktionen, die im onload-Event des Body aufgerufen werden (v.a. Objekt nicht gefunden). Ggf. Mußt Du den Funktionsaufruf innerhalb von <script>-Tags am Ende der Seite einbauen (vor </body> .
cu
Joe
while(!asleep()) sheep++;
|
|
Verfasst am: 13.04.2003 [10:58]
|
|
-=[::::)SASUKI(::::]=-
Themenersteller
Dabei seit: 30.10.2002
Beiträge: 499
|
hi,
bei mir gehts net,
der mozilaa zeigt folgende fehlermeldung:
[TT]
document.getElementById(cell) has no properties[/TT]
ich hab jetzt einfach die function test(cell){ und } weggemacht, und das onload auch, und hab da drüber cell="cell"; geschreiben.
Geht aber auch nicht.
Was mach ich den falsch
danke
sasuki
|
|
Verfasst am: 13.04.2003 [12:46]
|
|
joe
Dabei seit: 07.04.2002
Beiträge: 1225
|
Was Du genau falsch machst, weiß ich net... Aber das hier funktioniert:[code:1:b7c34ac0da]<html>
<head>
<script type="text/javascript">
function test(cell)
{
value = "<span style='font-weight: bold'>TESTTESTTEST</span>";
document.getElementById(cell).innerHTML = value;
}
</SCRIPT>
</head>
<body id="body" onload="test('cell');">
<TABLE BORDER="0">
<TR>
<TD id="cell"></TD>
</TR>
</TABLE>
</body>
</HTML>[/code:1:b7c34ac0da]
Wenn Du oben im Script noch ein [TT]alert(document.getElementById(cell));[/TT] einbaust, dann siehst Du ja, ob der die Zelle als Objekt kennt/findet. Entweder steht da irgendwas von [tt]NULL[/tt] oder [tt]undefined[/tt] oder irgendwas in Richtung [TT]object HTMLTableCellElement[/TT].
Wenn er das Objekt nicht kennt, dann bau einen <script>-Block am Ende der Seite ein (vor </body> und ruf dort erst die Funktion auf. Wenn der Parser zu diesem Punkt kommt, dann kennt der das Objekt (=die Zelle) auf jeden Fall.
BTW: innerHTML, nicht innerHtml... Sorry...
cu
Joe
while(!asleep()) sheep++;
|
|
Verfasst am: 13.04.2003 [13:38]
|
|
-=[::::)SASUKI(::::]=-
Themenersteller
Dabei seit: 30.10.2002
Beiträge: 499
|
Ok, danke jetzt klappt es.
|