/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
setAttribute("name", "...")
Fra : Hintzmann


Dato : 13-02-03 09:41

Hej NG

Er der nogen der kan hjælpe mig med at oprette attributten "name" på et
anker via DOM'en.

Det virker fint i Mozilla og delvist i Opera7, men jeg kan ikke få det til
at virker i MSIE6 (win2000)

Jeg har lavet en lille test her:
http://users.cybercity.dk/~dsl58854/testcenter/js/extendform/index_test2.htm
l


Ps. jeg er _ikke_ interesseret i document.write

Pft.
Hintzmann



 
 
Lasse Reichstein Nie~ (13-02-2003)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 13-02-03 12:25

"Hintzmann" <nospam@please.dk> writes:

> Er der nogen der kan hjælpe mig med at oprette attributten "name" på et
> anker via DOM'en.

> Det virker fint i Mozilla og delvist i Opera7, men jeg kan ikke få det til
> at virker i MSIE6 (win2000)

Hvordan virker det ikke?
(I.e.: Hvad forventer du der skulle ske? Hvad sker der?)

> Jeg har lavet en lille test her:
> http://users.cybercity.dk/~dsl58854/testcenter/js/extendform/index_test2.html

Du ser ud til at prøve både
x.attr = "foo"
og
x.setAttribute("attr","foo")

Så vidt jeg kan see, så virker de ens i IE, men ikke nødvendigvis i
Mozilla og Opera (de gør åbenbart forskel på attributter for
DOM-knuden og dens knudens egenskaber).

Du kan se et forsøg på:
<URL:http://www.infimum.dk/privat/testAttribute.html>
De røde elementer er dem der er matchet af CSS-reglerne
*#foo
*.foo
*[name="foo"]
*[dims="foo"]
(de sidste to regler virker ikke i IE, så det er ikke til at vide
om den ville have matchet)

/L
--
Lasse Reichstein Nielsen - lrn@brics.dk
Ph.D. i datalogi søger stilling som software-udvikler i Øst- eller
Nordjylland. Curriculum Vitae: <URL:http://www.brics.dk/~lrn/cv.html>

Hintzmann (13-02-2003)
Kommentar
Fra : Hintzmann


Dato : 13-02-03 15:57

"Lasse Reichstein Nielsen" <lrn@hotpop.com> skrev i en meddelelse
news:r8acqv77.fsf@hotpop.com...

Hej Lasse
Det er et fedt eksempel du har lavet

> Hvordan virker det ikke?
> (I.e.: Hvad forventer du der skulle ske? Hvad sker der?)

Jeg forventede at a elementet fik attributten "name" i alle browsere.
Men MSIE får ikke attributten "name" på a elementer.

>
> Så vidt jeg kan see, så virker de ens i IE, men ikke nødvendigvis i
> Mozilla og Opera (de gør åbenbart forskel på attributter for
> DOM-knuden og dens knudens egenskaber).
>

Ja, på div elementet virker metoderne setAttribute("name", "foo") og
element["name"] = "foo" ens i IE og forskelligt i Mozilla og Opera,
mens på et anker <a> virker de ens i både IE, Mozilla og Opera.

Men det er ikke så meget værdien på attributten i det man opretter den, at
jeg er interesseret i,
det er mere hvad værdien er på attributten efter at den er blevet indsat i
HTML-dokumentet.

Jeg har lagt mærke til i IE og Opera at hvis man spørger på attributten idet
man opretter den, så får man attributtens værdi,
men efter at den er indsat i dokumentet så er attributten der ikke.

Meget mystisk ... derfor har jeg lavet lidt om i dit eksempel og udskrevet
indholdet af tabellen i et textarea.
http://users.cybercity.dk/~dsl58854/testcenter/js/extendform/index_test4.htm
l

Her kan man se at attributterne ikke altid er der i HTML'en efter at de er
blevet indsat.

Jeg har lavet et hack som fix'er det i Opera7.
Her kan man indsætte en dummy attribut, såsom attributten 'dir'. Så vil
Opera7 godt indsætte de øvrige attributter. Også meget mystisk.

Men jeg kan ikke få den til det i Microsoft Internet Explorer.

Hintzmann



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408929
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste