Mehrere Elemente ansprechen
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
abfragen
all
ansprechen
antworten
aufrufen
code
container
dom
dritt bibliotheken
eigenschaft
einfachheit
element
erzeugen
funktion
holen
listen
tag
text
verwenden
zugreifen
-
Hey,
wie kann ich tag/all">alle Div-Elemente in einem Div ansprechen?
also z.B.
<div id="hauptdiv"> <div id="div1"> </div> <div id="div2"> <div id="div3"> </div> </div> </div>
Hier möchte ich nur alle Divs im hauptdiv ansprechen.
Es gibt außerhalb vom hauptdiv noch andere Div-Container.
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Das müsste sich mit Rekursion lösen lassen:
window.onload = function(){ bla(document.getElementById("hauptdiv")); } function bla(element){ //Hier eine Funktion aufrufen if(element.hasChildNodes()){ for(var i=0;i<element.childNodes.length;i++){ var node = element.childNodes[i]; if(node.nodeName == "div"){ bla(node); } } } }
(Ungetestet)
Beitrag zuletzt geändert: 25.6.2009 10:40:27 von progger -
Ich schätze mal du willst dies per JavaScript machen.
Wenn du es gänzlich ohne Dritt-Bibliotheken machen willst, musst du dir zunächst dein hauptdiv per document.getElementById('hauptdiv'); holen.
Nun wo du dieses DOM Node Element in den Händen hälst, kannst du über die Node Eigenschaft childNodes auf die Elemente der Node zugreifen. Hierbei werden aber auch Zeilenumbrüche und Texte mit zurückgegeben. Du musst also noch den NodeType überprüfen.
All dies musst du rekursiv machen, denn du bekommst immer nur die direkten Unterelemente zurückgeliefert.
Der Einfachheit halber empfielt es sich Libs wie Prototype, JQuery oder andere zu verwenden. Dann könntest du alle Elemente die du abfragen willst einfach mit einem Classnamen versehen und darauf abfragen lassen.
//e: progger war schneller ^^" -
Wollt das mit JS machen um so ein Toggle zu machen, aber das eine Div soll sich schließen, wenn man ein anderes
Div öffnet.
Naja sitze schon 2 Tage dran, aber ohne richtige JS Kentnisse kommt man wohl nicht weit ^^
Danke jedenfalls für eure Antworten.
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage