document.getElementByClass(id).style.height ?

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
phillip
Mitglied
Beiträge: 933
Registriert: 20.03.2005 12:00

document.getElementByClass(id).style.height ?

Beitrag von phillip »

Hallo ihr :wink:
Ja ich weiss, der Titel mag vielleicht nicht der Beste sein, aber das beschreibt eigentlich genau mein Problem ;-)

Vielleicht muss noch vorausgesagt werden, dass ich sozusagen eine absolute Null in Sachen Javascript bin, desshalb komm ich jetzt nicht mehr weiter ;-)

Los gehts!

Im head hab ich folgendes:

Code: Alles auswählen

<script type="text/javascript">

function versteck(id) {
        document.getElementById(id).style.display = 'none';
	
        }


function big(id) {
        document.getElementByClass(id).style.height = '300px';
        }
    
</script>

Im body:

Code: Alles auswählen

<span class="close"><a href="javascript:versteck('message'); big(gallery);">Close</a></span>
So.

Die function

Code: Alles auswählen

versteck
klappt soweit (ja, stolz bin ich schon :P), aber die function nicht wirklich...

Ich bin nicht einmal sicher, obs

Code: Alles auswählen

document.getElementByClass
überhaupt gibt xD

Ich möchte einfach ein

Code: Alles auswählen

ul class element
mit dem klicken auf close auf eine höhe von 300px bekommen.

Kann mir jemand helfen?
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

getElementByClass() gibt es nicht - bzw. kann es nicht geben, da eine Klasse - im Gegensatz zu einer ID - nicht eindeutig ist und sowieso nicht zum Zugriff auf Elemente gedacht ist.
Als Alternative gibt es noch getElementsByName() - oder evtl. auch getElementsByTagName()

Ansonsten: http://forum.de.selfhtml.org/archiv/2005/11/t118461/

Viele Grüße,

Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
phillip
Mitglied
Beiträge: 933
Registriert: 20.03.2005 12:00

Beitrag von phillip »

ich habs jetzt so probiert:

Code: Alles auswählen

function big(id) {
        document.getElementsByName(id).style.height = '3000px';
        }
(3000px aus dem Grunde, dass man so einen richtig krassen Unterschied sieht ^^)

und der aufruf bleibt immer noch

Code: Alles auswählen

<span class="close"><a href="javascript:versteck('message'); big('gallery');">Close</a></span>


ich hab dem ul tag jetzt einfach einen Namen gegeben, bzw. 'gallery'

Das sieht jetzt so aus:
<ul class="gallery" name="gallery">
Kann man ul tags eigentlich mit einem Namen versehen?

leider passiert nichts...

EDIT: Mir ist sowieso grad eingefallen, names kann man nicht einfach den style ändern... :roll:

EDIT2: ok, habs hingekriegt mit

Code: Alles auswählen

function big() {
        document.getElementsByTagName("ul")[1].style.height = '3000px';
        }


DANKE PhilippK :wink:
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Es gibt schon eine Möglichkeit, sämtliche Elemente einer Klasse anzusprechen:

http://snook.ca/archives/javascript/your_favourite_1/

Bei mir hat das jedenfalls einwandfrei funktioniert, kann bei vielen zu prüfenden Elementen allerdings schon mal was langsamer werden...
Das liefert jedenfalls ein Array zurück durch das du z.b. per

Code: Alles auswählen

for(var i=0, j=elements.length; i<j; i++)
		{
			elements[i].style.display = new_style;
		}
durchiterieren kannst (elements enthält die Rückgabe der Funktion.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Antworten

Zurück zu „Coding & Technik“