Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Problem beim Manipolieren des DOM-Baums

Empfohlene Antworten

Veröffentlicht

Hallo Leute,

ich schildere mal kurz mein Problem. Also ich habe eine Schaltfläche in einem php dokument, wenn man dort draufdrückt erscheint ein <div> , das is auch so gewünscht. dann soll sich dieses <div> mit inhalt füllen. das geht auch so halbwegs. Das ganze Soll ein Klickbares Menü sein aber alle Menüpunkte schreibt der als einen Punkt und das <a>tag hat als href wert nur [object Text].

Hier mal mein Script dazu:


<script type="text/javascript">

            function erweitern(){

                var element = document.getElementById("divc");


                if(open == true){

                    element.removeChild(document.getElementById("divc").lastChild);

                    open = false;

                } else{

                    var setdiv = false;

                    if(!setdiv){

                            var div = document.createElement("div");

                            div.setAttribute("id", "menupop");

                            text = document.createTextNode("Menü");

                            div.appendChild(text);

                            element.appendChild(div)

                            setdiv = true;

                        }


                        var container = document.getElementById("menupop");

                        var ul = document.createElement("ul");

                        ul.setAttribute("id", "liste");

                        container.appendChild(ul);


                        var liste = document.getElementById("liste");

                        var li = document.createElement("li");

                        var a = document.createElement("a");


                            var inhalt = new Array();

                                inhalt[0] = new Object();

                                inhalt[0]['mp'] = "menü 1";

                                inhalt[0]['link']= "a.html";

                                inhalt[1] = new Object();

                                inhalt[1]['mp'] = "menü 2";

                                inhalt[1]['link']= "b.html";

                                inhalt[2] = new Object();

                                inhalt[2]['mp'] = "menü 3";

                                inhalt[2]['link']= "c.html";


                        for(var i=0; i<inhalt.length; i++){

                            var link = document.createTextNode(inhalt[i]['link']);

                            var text = document.createTextNode(inhalt[i]['mp']);


                            a.setAttribute("href", link);


                            a.appendChild(text);

                            li.appendChild(a);

                            liste.appendChild(li);

                        }

                    open = true;

                }

            }

        </script>

Ich weiss mittlerweile nicht mehr weiter, mein buch auch nicht und google gibt mir alles nur keine antwort. Hoffe das ihr mir helfen könnt.

- document.createAttribute

- Anker in der Schleife erzeugen

- if(!setdiv) ist immer wahr ?!

Ich danke dir ja dafür das du es versuchst, aber ich kann dir leider nicht folgen was du willst ?

- document.createAttribute

link muss ein Attributknoten sein - bei ist es ein Textknoten.

- Anker in der Schleife erzeugen

Du erzeugst nur einen Anker und änderst immer den selben in deiner Schleife.

- if(!setdiv) ist immer wahr ?!

Die Bedingung ist immer wahr, da du setdiv in der Zeile zuvor auf false setzt.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.