AppendChild Problem (DOM)
Marcel G
- javascript
Hallo Forenuser,
ich hab hier ein problem, mit den ich mich schon den ganzen tag herumschlage, ohne ein ergebnis zu bekommen.
Und zwar funktioniert dieses kleine script wunderbar im Firefox aber im IE nimmt er nie die onclick bzw. zeigt er mir nie das CSS. Laut DOM Inspector schreibt er aber alles wie gewollt in den richtigen DOM baum.
bin am verzweifeln. Das originalscript ist um einiges länger, aber dieser schnippsel soll euch zeigen, was für problem ich habe.
Wäre nett, wenn mir jemand bei meinem kleinen problemchen helfen könnte.
Grüße
Marcel
#############################
<head>
<script language="javascript" type="text/javascript">
function load_orders(){
var server_tab = document.createElement('div');
server_tab.setAttribute("onclick","alert('test');");
server_tab.setAttribute("class","server_tab");
server_tab.appendChild(
document.createTextNode("Server: ")
);
document.getElementById('order_leftDiv').appendChild(server_tab);
}
</script>
</head><body onload="load_orders();">
<div style="height:300px;">
<div style="float:left;">
<h3>This is the first list</h3>
<div id="order_leftDiv">
</div>
</div>
</div>
</body>
</html>
Hallo.
server_tab.setAttribute("onclick","alert('test');");
server_tab.setAttribute("class","server_tab");
setAttribute funktioniert nicht wie es soll (v.a. im IE).
Schreib stattdessen einfach:
server_tab.onclick = "alert('test')";
oder
server_tab.onclick = function(e){alert('test');};
bzw.
server_tab.className = "server_tab";
Das ist a) viel einfacher und übersichtlicher und b) funktioiniert es auch.
Viele Grüße
Michi
setAttribute funktioniert nicht wie es soll (v.a. im IE).
stimmt, teilweise.
Schreib stattdessen einfach:
server_tab.onclick = "alert('test')";
das ist falsch. Ein Eventhandler kann mit einem String nichts anfangen.
server_tab.onclick = function(e){alert('test');};
so ist's richtig.
Struppi.
Hallo.
server_tab.onclick = "alert('test')";
das ist falsch. Ein Eventhandler kann mit einem String nichts anfangen.
Entschuldigung, hast natürlich recht, das ist natürlich falsch.
Greets
Michi
Hallo,
server_tab.onclick = function(e){alert('test');};
Wozu ist eigentlich das „e“ gut? Ich habe bisher immer nur function(){bla()}
geschrieben.
mfg. Daniel
server_tab.onclick = function(e){alert('test');};
Wozu ist eigentlich das „e“ gut? Ich habe bisher immer nur
function(){bla()}
geschrieben.
Und wie ermittelst du in Mozilla Browsern den Event?
Struppi.
Hallo,
server_tab.onclick = function(e){alert('test');};
Wozu ist eigentlich das „e“ gut? Ich habe bisher immer nur
function(){bla()}
geschrieben.Und wie ermittelst du in Mozilla Browsern den Event?
Gar nicht ;-)
Nagut, ich hab's verstanden.
mfg. Daniel