PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : JavaScript macht stress mit name-Attribut


Pompos
2005-07-15, 19:29:42
Hey
Kann es sein dass die JavaScript-Praser von FireFox und Opera nicht in der Lage sind, dass name-Attribut eines Tags auszulesen? Mit Konqueror klappts wunderbar.
Beispiel:
<tr name="top">
<tr name="bottom">
<tr name="test">

alert (document.getElementsByTagName('tr')[2].name);

Ergibt bei FF und Opera: "undefined"
Beim Konqueror kommt "test". Wie es auch sein soll.

Gibt es irgendeine andere Methode mit JS das name-Attribut auszulesen? Oder kann man irgendwie das class-Attribut mit JS auslesen?

darph
2005-07-16, 01:35:00
Wen ich mich recht erinnere, ist name ist nur für Formularelemente wie bleistiftsweise <input /> definiert. Der Fux macht also eigentlich keinen Fehler, wenn er sagt, daß das Attrobut bei diesem Element nicht definiert ist - er ist nur überpenibel.

Du mußt das id="" Attribut verwenden (welches aber dokumentenweit eindeutig sein muß). Dann kannst du aber auch gleich document.getElementById() verwenden. ;)

<tr id="oben">

alert(document.getElementsByTagName('tr')[2].id);

PatkIllA
2005-07-16, 09:42:41
Gibt es irgendeine andere Methode mit JS das name-Attribut auszulesen? Oder kann man irgendwie das class-Attribut mit JS auslesen?Wenn du das Objekt hast dann kommst du mit .className an den CSS-Klassennamen. Kann man auch verändern.

darph
2005-07-16, 11:32:18
Wenn du das Objekt hast dann kommst du mit .className an den CSS-Klassennamen. Kann man auch verändern.
.className gibt die Klasse (class="") zurück. Nicht das name="" Attribut.

PatkIllA
2005-07-16, 11:37:45
@darph
das war doch der zweite Teil der Frage.

darph
2005-07-16, 11:52:22
@darph
das war doch der zweite Teil der Frage.
Eh... ja. stimmt. Guten Morgen :usad:

google mal nach getElementByClassName - gibt 'ne Menge Scripte, die das können...

Pompos
2005-07-16, 13:00:36
Danke... hab es jetzt über className hinbekommen. Ist zwar nicht allzu ellegant, aber es funktioniert.


Aber dafür gibts jetzt nur im Opera wegen dem was die Funktion bewirkt Darstellungsprobleme :( ABer das ist ein anderes Thema.

PatkIllA
2005-07-16, 13:19:14
was hast du denn gemacht? die beiden Fragen haben doch so irgendwie gar nichts mit einander zu tun.

Pompos
2005-07-16, 17:57:03
Ich habe ein ausklappbares Menü gemacht. Wenn du auf den Hauptmenüpunkt klickst, erscheinen die Untermenüpunkte darunter.

So jetzt ists aber perfekt... habe die Tabellen zur Hölle geschickt und alles mit CSS gemacht :D

Menü offen
http://img334.imageshack.us/img334/7678/closemenu6jp.th.png (http://img334.imageshack.us/my.php?image=closemenu6jp.png)

Menü zu
http://img344.imageshack.us/img344/3947/openmenu1ok.th.png (http://img344.imageshack.us/my.php?image=openmenu1ok.png)


was hast du denn gemacht? die beiden Fragen haben doch so irgendwie gar nichts mit einander zu tun.
Doch... weil das eine nicht ging, habe ich mir gedacht dass man es vielleicht auf ne andere Methode machen könnte.

Roi Danton
2005-07-19, 23:45:48
So jetzt ists aber perfekt... habe die Tabellen zur Hölle geschickt und alles mit CSS gemacht :DGut, aber damit funzt's nicht im Internet Explorer. Der brauch immer noch Javascripts. Der kennt das :hover nur für <a>'s.

Gast
2005-07-20, 10:34:23
Gut, aber damit funzt's nicht im Internet Explorer. Der brauch immer noch Javascripts. Der kennt das :hover nur für <a>'s.
Schön wärs.
Er wendet unabhängig von den CSS-Regeln hover nur auf Anker-Elemente an, die ein Attribut namens "href" haben. Sonst könnte man den Fehler ja einfach umgehen, indem man das Ganze in ein sinnloses <a> </a> kapselt.

Pompos
2005-07-21, 13:41:16
Gut, aber damit funzt's nicht im Internet Explorer. Der brauch immer noch Javascripts. Der kennt das :hover nur für <a>'s.
Uppss.... alles war dann doch wohl einwenig zu euphorisch. Also alles was so zusagen das Design angeht ist jetzt CSS, aber das Klappen ist mit JavaScript. Funktioniert soweit auch alles mit dem IE, Opera, Firefox und Konquorer :D

Mir stellt sich jetzt nur die Frage, wie ich mehrere Spalten nebeneinander hinbekomme.

PatkIllA
2005-07-21, 13:43:10
Mir stellt sich jetzt nur die Frage, wie ich mehrere Spalten nebeneinander hinbekomme.float ist die CSS Eigenschaft die du suchst.