WN

WN (https://www.wn.se/forum/index.php)
-   Klientsidans teknologier, design och grafik (https://www.wn.se/forum/forumdisplay.php?f=12)
-   -   Javascript: Komma åt egna attribut (https://www.wn.se/forum/showthread.php?t=30213)

oddholst 2008-06-29 12:37

Hej.

Låt säga att man har följande element
Kod:

<button id="knapp1" keyvalue="17" onclick="alert(this.keyvalue)">Test</button>
När man klickar på knappen i IE får man upp en ruta med värdet "17" angivet, men i firefox (3) får man upp värdet "undefined". Hur kommer man åt egna attribut man givit ett element?

tartareandesire 2008-06-29 13:06

Citat:

Originally posted by oddholst@Jun 29 2008, 12:37
Hej.
Låt säga att man har följande element
Kod:

button id=knapp1 keyvalue=17 onclick=alertthis.keyvalueTest/button
När man klickar på knappen i IE får man upp en ruta med värdet 17 angivet, men i firefox (3) får man upp värdet undefined. Hur kommer man åt egna attribut man givit ett element?

Du använder getAttribute.

dAEk 2008-06-29 21:59

Yes, getAttribute() ska funka bättre. :)

Problemet med egna attribut är att de kan pajja i framtiden. Vem vet, det kanske kommer en spec där just keyvalue används och då blir det kanske riktigt knasigt på dina sidor om du har otur. Så det kanske är bäst att vara på säkra sidan? HTML 5 föreslår att man prefixar sina egna attribut med"data-".

tartareandesire 2008-07-01 14:16

Citat:

Originally posted by dAEk@Jun 29 2008, 21:59
Yes, getAttribute() ska funka bättre.
Problemet med egna attribut är att de kan pajja i framtiden. Vem vet, det kanske kommer en spec där just keyvalue används och då blir det kanske riktigt knasigt på dina sidor om du har otur. Så det kanske är bäst att vara på säkra sidan? HTML 5 föreslår att man prefixar sina egna attribut meddata-.

Har man vettiga namn så är ju risken minimal men, visst, vill man vara absolut säker kan man ju använda specifika prefix.

dAEk 2008-07-01 19:41

Visst kan man chansa och hoppas att man klarar sig men är det inte rätt onödigt?

martine 2008-07-01 22:59

Dessutom får du ju problem med valideringen. html är inte xml

dAEk 2008-07-03 01:55

Och vad är problemet med att det inte validerar? HTML är förlåtande, det finns för många sidor som är galet kodade för att det ska ändras. Det är iofs aldrig speciellt bra att förlita sig på den inbygda felhantering men trots det; skulle en UA få problem med påhittade attribut undrar jag hur fasen det är tänkt att den ska klara att hantera sidor med fler och grövre strukturella fel.

jonny 2008-07-03 08:18

Eller så tänker du om och hittar en lösning där du inte behöver använda dig av egna attribut.

martine 2008-07-03 11:27

dAEk: Jovisst fungerar sidorna. Men du kan råka på problem när din uppdragsgivare gått på kurs och meddelar att "jo, förresten, alla sidor måste validera"... Eller att någon enskild webbläsare hostar till vid något enskilt påhittat attribut. Trenden är nog dessutom att webbläsare blir mindre och mindre förlåtande för dåligt strukturerade sidor. Dessutom är validering ett utmärkt sätt att sköta din felhantering, du får direkt reda på om du glömt stänga en div-tag.

Man kan ju också säga att det är onödigt att börja meningar med stor bokstav eller att stava riktigt - de flesta förstår ju ändå alltid vad man menar - men det blir svårläst i onödan. Av samma anledning är det bra att inte grisa ner sin html.

I undantagsfall kan det säkert vara praktiskt med egna attribut men kan man få en sida som validerar är det förstås att föredra.

tartareandesire 2008-07-03 14:00

Citat:

Originally posted by dAEk@Jul 1 2008, 19:41
Visst kan man chansa och hoppas att man klarar sig men är det inte rätt onödigt?

Det brukar sällan vara en chansning....


Alla tider är GMT +2. Klockan är nu 11:11.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson