Forum Doku Wiki Blog

Forumsarchiv 2004, Januar
createElement + setAttribute

archivierte Beiträge lesen

  1. (JAVASCRIPT) createElement + setAttribute von MichaelR, 11. 01. 2004, 13:51

createElement + setAttribute

Der folgende Beitrag wurde am 11. 01. 2004, 13:51 Uhr von MichaelR veröffentlicht.

Hallo,

in einem Skript erzeugt ich ein neues Element mittels:

var Elm = document.createElement('span');

dann werden diesem zwei Attribute zugewiesen:

Elm.setAttribute("class", 'GapSpan');
Elm.setAttribute("onclick", 'DoSthg()');

In Mozilla funktioniert alles bestens nur im IE nicht.

Laut SelfHTML hat der IE 5.5 eine Schwäche mit dem ersten Parameter bei setAttribute; nun gut, hab mehrere Ansätze ausprobiert haben aber alle immer zum Ergebnis geführt, dass weder die CSS-Klasse noch das Event im IE ausgeführt bzw. angewendet wurden.

Dann dachte ich, ich verzichte halt auf den IE 5.5 und baue nur auf IE 6 - aber der macht das gleiche???

Problem ist also, dass das Setzen von Attributen im IE nicht klappt!
Warum? Und wer weiß Abhilfe?

Danke + Grüße
Michael

PS: den erzeugten Span-Knoten hänge ich mittels appendChild im body an ein Div-Element an.

createElement + setAttribute

Der folgende Beitrag wurde am 11. 01. 2004, 13:57 Uhr von Thomas Meinike veröffentlicht.

Hallo,

> var Elm = document.createElement('span');
>
> dann werden diesem zwei Attribute zugewiesen:
>
> Elm.setAttribute("class", 'GapSpan');
> Elm.setAttribute("onclick", 'DoSthg()');
>
> In Mozilla funktioniert alles bestens nur im IE nicht.

Probiere es so:

Elm.className='GapSpan';

Elm.setAttribute("onclick", 'DoSthg()', true);
oder
Elm.onclick=DoSthg; // ohne ()!
oder
Elm.onclick=function(){DoSthg()};

MfG, Thomas
--
SVG - Learning By Coding
http://svglbc.datenverdrahten.de/

createElement + setAttribute

Der folgende Beitrag wurde am 11. 01. 2004, 14:40 Uhr von MichaelR veröffentlicht.

Hallo Thomas,

[...]
> Probiere es so:
>
> Elm.className='GapSpan';
>
> Elm.setAttribute("onclick", 'DoSthg()', true);
> oder
> Elm.onclick=DoSthg; // ohne ()!
> oder
> Elm.onclick=function(){DoSthg()};

Danke - an das className hätte ich auch denken können ... Das event-Setzen probiere ich und hoffe mal.

Danke + Grüße
Michael

createElement + setAttribute

Der folgende Beitrag wurde am 11. 01. 2004, 15:09 Uhr von MichaelR veröffentlicht.

Hallo,

> Elm.className='GapSpan';
>
> Elm.setAttribute("onclick", 'DoSthg()', true);

Das hatte keine Auswirkung

> oder
> Elm.onclick=DoSthg; // ohne ()!

Das geht nicht weil ich Parameter beim Event-Aufruf übergeben muss

> Elm.onclick=function(){DoSthg()};

Aber das funktioniert gut in IE, und wenn es jetzt auch noch im Moz geht, spar ich mir die Browserweiche :-)

Danke,
Michael

>
> MfG, Thomas

createElement + setAttribute

Der folgende Beitrag wurde am 11. 01. 2004, 14:31 Uhr von Rouven veröffentlicht.

Hi,

der IE unterstützt eine andere Funktion, du müsstest halt nur rausfinden welche gerade angemessen ist:
attachEvent
http://msdn.microsoft.com/workshop/author/dhtml/reference/methods/attachevent.asp


MfG
Rouven

--

-------------------
ss:) zu:) ls:& fo:) de:< va:{ ch:? sh:) n4:( rl:? br:$ js:| ie:) fl:(

© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4