Roadster: <div> bzw. <p> Elemente finden, die auf display="none" sind?

Beitrag lesen

Aloha ;)

Hallo RIDER :)

Zusätzlich zu meinem eben geposteten, funktionierenden Beispiel...

Also ich habe mir deine beiden Beispiele nochmal vorgenommen!

Beim ersten Beispiel kommt bei mir in der Web-Konsole (ohne Zeilenangabe)

"TypeError: Property 'handleEvent' is not callable."

und beim zweiten Beispiel wird in der Zeile

var paragraphs = boxContainer.querySelectorAll('p.'+classname);

"SyntaxError: An invalid or illegal string was specified"

angemahnt. (Das mit dem 'box C ontainer' hab ich schon richtig deklariert...)

Könnte es damit zu tun haben, dass du in deinen Beispielen bei den contentBoxen eine <div> Ebene ausgelassen hast, oder "finded" der code grds. alle <p> Elemente?

Ist halt sehr kryptisch und ich versteh eigentlich nur Bahnhof! :)

[Aber bevor du dich nochmal dransetzen würdest, falls du dies noch vorgehabt hättest, lies den Post bitte erst zuende!]

So sollte der (virtuelle) HTML-Code für die Boxen aussehen:

<div id="boxContainer">  
 <div id="contentBoxN">  
  <div id="contentBoxHeaderN">  
   <div id="contentBoxHeadLineN">  
   </div>  
   <div id="contentBoxCloseButtonN">  
    <p id="contentBoxCloseButtonTextN">  
    </p>  
   </div>  
  </div>  
  <div id="contentBoxBodyN">  
   <p id="contentTextFieldN" class="boxName">  <!-- "boxName" brauche ich -->  
   </p>  
  </div>  
 </div>  
</div>

Also: (boxContainer) > contentBox > contentBoxBody > contentTextField | (div) div div p.

Sicher, dass du hast was du wolltest? Für mich siehts eher so aus, als wenn du immer und grundsätzlich und auch unabhängig von den Klassen immer nur das letzte Element bekommst, das mit document.getElementsByClassName(wantedContentBoxName) ausgeliefert wird... Glaube kaum, dass das das erwünschte Verhalten ist ;)

Ehrlich, warum mein Code funktioniert kann ich auch nicht so genau sagen, aber er tut's! :D

Kann fünf oder sechs Boxen in die Ablage laden und egal auf welche ich draufclicke wird per alert(wantedContentBoxId) tatsächlich immer genau der Name der dazugehörigen contentBox angezeigt. Habe auch mal kurz die Funktion mit dem reload der versteckten contentBoxen hinzugefügt und auch das hat ohne weiteres geklappt, egal welche Box im Ablagestapel ich angeclickt habe, er hat tatsächlich die dazugehörige contentBox wieder in den boxContainer geladen!

Ich will dich ja nicht in Stücke reden, aber der Code hier ist - zumindest glaube ich das - ziemlich untätiger Murks gewesen ;) Entschuldige mir den Ausdruck, nicht persönlich gemeint. Vielleicht ist da auch die U(h)rzeit dran schuld ;)

Ich bin der Letzte, der in Abrede stellen würde, dass mein Code Murks ist! :D
Ist gewissermaßen mein Markenzeichen...und ja, bin seit ca. 36h non-stop vor statt in der Kiste! Unglaublich, wie schnell so eine 500g Packung Kaffepulver aufgebraucht ist! ;)

Naja und was die Einrückungen angeht, das ist so eine Sache! Ich habe zwar einen recht großen Bildschirm, aber je weiter man den code auseinander schreibt, desto weniger kann man insgesamt im Blick behalten. Muss man abwägen! Ich finde es desto übersichtlicher, je mehr Code ich gleichzeitig überblicken kann. (Außerdem hat Notepad++ doch dieses schicke Feature die Klammern links am Rand nochmal in einer extra Leiste mit Knoten darzustellen...)

Mir ist im Übrigen bei meiner geplanten Praxis noch ein unerwünschter Nebeneffekt aufgefallen:

Die Reihenfolge der Boxen! Heiliger BimBam! Wenn ich das so umsetzen wollte, wie ich geplant hatte, mit 'Behalten' und so, dann würde das ein schlimmes Rumgehüpfe der contentBoxen ergeben! Oder ich müsste ziemlich aufwändig die Reihenfolge der contentBoxen im boxContainer steuern!

Vielleicht wäre es ja eine insgesamt viel elegantere Lösung, statt die Boxen auf display:none zu setzten und von dort wieder aufzurufen, die Boxen wie beim "Schließen"-Button-Mechanismus komplett zu löschen, nur dass ich dabei einfach die Funktions-Parameter an die 'Link-Box' in der Ablage weitergebe, und von da aus die createNewContentBox-Funktion bei bedarf aufs Neue starte, so als hätte man den Link im Menü gedrückt!

Dann bräuchte ich auch nur noch die ID von der Box die gerade angezeigt wird. [getAttribute("display")?]

Ok, wenn ich das mit dem 'Behalten'-Button mit reinnehme, würde ich doch die Funktion brauchen, die IDs der contentBoxen im boxContainer zu ermitteln, denn dann wären es ja mehr als eine...

Aber das hat jetzt im Moment eigentlich nicht sooo die Prioriät, wichtig ist erstmal, dass ich überhaupt einen funktionierenden Mechanismus habe (zumal ich die nächste Zeit sicher der einzige 'User' der Seite sein werde).

Also ich werde mir jetzt erstmal eine große Kanne Kaffe aufsetzen, und dann schaue ich mir das alles nochmal genau an! ;)

Nochmal vielen Dank und

beste Grüße,

Roadster.