Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
(Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI...

document.getElementById("dieId").value liefert unerwartetes Ergebnis

Diskussion: document.getElementById("dieId").value liefert unerwartetes Ergebnis im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige HTML-Code: <html> <head /> <body> <div id= "dieId" value= "123" /> <script type= "text/javascript" > alert(document.getElementById("dieId").value); </script> </body> </html> ...

Like Tree1Likes
  • 1 Post By she3p

Antwort
Alt 14.10.11, 13:00   #1 (permalink)
Senior Member
 
Benutzerbild von odigo
 
Registriert seit: 25.12.04
odigo Leistung: 8086odigo Leistung: 8086
odigo eine Nachricht über ICQ schicken
Likes: 54
Standard document.getElementById("dieId").value liefert unerwartetes Ergebnis

Anzeige

HTML-Code:
<html>
<head />
<body>
    
    <div id="dieId" value="123" />
    
    <script type="text/javascript">
            
            alert(document.getElementById("dieId").value);
        
    </script>
    
</body>
</html>
Ich hätte erwartet daß "123" alerted wird. Ist aber undefined. Wo ist mein Denkfehler?
Browser ist der aktuelle Firefox, im IE funktionierts.

Geändert von odigo (14.10.11 um 13:41 Uhr)
odigo ist offline   Mit Zitat antworten
Alt 14.10.11, 13:06   #2 (permalink)
 
Benutzerbild von she3p
 
Registriert seit: 07.05.07
she3p Leistung: 8086
Likes: 19
Standard

Du greifst hier auf ein Attribut zu, welches eigentlich nicht für ein <div /> vorgesehen ist. Daher musst du hier, statt mit den für einige standardisierte Attribute implementierte Funktion, den Attributknoten über die DOM-Funktionen ermitteln:

SELFHTML: JavaScript / Objektreferenz / node
__________________
she3p ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 14.10.11, 13:38   #3 (permalink)
Senior Member
Themenstarter
 
Benutzerbild von odigo
 
Registriert seit: 25.12.04
odigo Leistung: 8086odigo Leistung: 8086
odigo eine Nachricht über ICQ schicken
Likes: 54
Standard

Find ich toll wie einig sich IE und FF sind sich uneinig zu sein. Richtig spannend wirds bei:

HTML-Code:
<html>
<head />
<body>
    
    <div id="dieId" value="123" />
    
    <script type="text/javascript">
            
            document.getElementById("dieId").value = "456"
            alert(document.getElementById("dieId").value);
            alert(document.getElementById("dieId").getAttribute("value"));
        
    </script>
    
</body>
</html>
Ich muss mich schon arg täuschen, aber daß der FF da anders reagiert wie der IE ist sehr seit kurzem so.

Ich liebe Webentwicklung
odigo ist offline   Mit Zitat antworten
Alt 14.10.11, 13:44   #4 (permalink)
 
Benutzerbild von she3p
 
Registriert seit: 07.05.07
she3p Leistung: 8086
Likes: 19
Standard

Zitat:
Zitat von odigo Beitrag anzeigen
Find ich toll wie einig sich IE und FF sind sich uneinig zu sein.
Naja, ein value gehört nunmal nicht in einen <div />. Halte dich an die Standards dann passiert auch weniger. Achja btw: Wieso nicht einfach mit jQuery und .data()? Ist halt viel einfacher ^^

Zitat:
Zitat von odigo Beitrag anzeigen
Ich liebe Webentwicklung
Jep! Ebenfalls. Aber war schon schlimmer
beavisbee likes this.
__________________
she3p ist offline   Mit Zitat antworten
Alt 14.10.11, 22:25   #5 (permalink)
Member of Honour
 
Benutzerbild von beavisbee
 
Registriert seit: 22.02.07
beavisbee Leistung: Pentium IIIbeavisbee Leistung: Pentium IIIbeavisbee Leistung: Pentium IIIbeavisbee Leistung: Pentium III
beavisbee eine Nachricht über ICQ schicken
Likes: 77
Standard

hey odigo,
ich kann mich leider she3p nur anschließen:
verwende SAUBERES(!) HTML und du wirst die gewünschte Funktionsweise, relativ browser-unabhängig, bekommen.

Solange du HTML derartig vergewaltigst, kannst du nicht erwarten, dass Browser so reagieren, wie du es gerne hättest - das betrifft das Rendering genauso wie JavaScript...
beavisbee ist gerade online   Mit Zitat antworten
Alt 14.10.11, 23:56   #6 (permalink)
Senior Member
Themenstarter
 
Benutzerbild von odigo
 
Registriert seit: 25.12.04
odigo Leistung: 8086odigo Leistung: 8086
odigo eine Nachricht über ICQ schicken
Likes: 54
Standard

Zitat:
Zitat von beavisbee Beitrag anzeigen
Solange du HTML derartig vergewaltigst, kannst du nicht erwarten, dass Browser so reagieren,...
Hm, die letzten zig Jahre gings eigentlich ganz gut. Ich finds eigentlich traurig daß man über lange Zeit "Features" nutzen konnte über die man sich keine Gedanken gemacht hat weil man dachte "Wenns geht wirds so schon Standard sein" und plötzlich gehts nicht mehr. Aber daß man es dann gleich nach Referenz macht oder wenigstens dann wenn man an der Stelle was ändert ist wohl zu viel verlangt. Naja, ich halt mich so weit es geht aus dem Klickibunti-Geschäft raus, ganz ohne Zittern wenn mal wieder ne neue Version eines Browsers kommt geht es aber wohl doch nicht.
odigo ist offline   Mit Zitat antworten
Alt 15.10.11, 00:09   #7 (permalink)
Member of Honour
 
Benutzerbild von beavisbee
 
Registriert seit: 22.02.07
beavisbee Leistung: Pentium IIIbeavisbee Leistung: Pentium IIIbeavisbee Leistung: Pentium IIIbeavisbee Leistung: Pentium III
beavisbee eine Nachricht über ICQ schicken
Likes: 77
Standard

Zitat:
Zitat von odigo Beitrag anzeigen
ganz ohne Zittern wenn mal wieder ne neue Version eines Browsers kommt geht es aber wohl doch nicht.
also ich versuche mich wo es nur geht an XHTML strict zu halten und fahre damit, was Browserkompatibilität angeht, auch recht gut.

Wenn Browser nicht-validen Code verarbeiten, ist das zwar 'ne schöne Sache, aber du darfst selbstverständlich nicht davon ausgehen, dass dieses Verhalten bei allen Browsern und allen Browser-Versionen gleich ist.
Wenn du dagegen ein paar Grundregeln einhältst (validen Code), dann kannst du recht problemlos browser-unabhängig funktionierende Scripte bauen.

Was bringt dich z.B. in deinem Fall dazu, einem DIV-Element ein value-Attribut zu verpassen? Um irgendwelche Daten versteckt zu speichern gibt es hidden-inputs - auf diese kannst du dann mit deinem
Code:
document.getElementById("dieId").value
problemlos zugreifen, da jeder Browser anerkennt, dass ein input auch ein value hat...
beavisbee ist gerade online   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Web, Network & Multimedia Palace » (Web-) Design und webbasierte Sprachen » JavaScript document.getElementById("dieId").value liefert unerwartetes Ergebnis
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[RegEx] Zeichenketten finden, welche "foo" enthalten, ABER NICHT "bar" beavisbee (Web-) Design und webbasierte Sprachen 4 05.09.11 14:44
Can't determine definition of operator ""and"" -- found 0 possible definitions tanj Code Kitchen 0 25.05.11 22:39
Hooking der send Funktion verursacht eine "Acess violation" @night@ Code Kitchen 0 31.10.10 10:41
Perl MooseX::Singleton - seltsames Verhalten waehrend "global destruction" keksinat0r (Web-) Design und webbasierte Sprachen 0 02.01.10 11:32
document.getElementById??? Lemon (Web-) Design und webbasierte Sprachen 4 13.12.07 21:00


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61