HTML-Code der aktuellen Auswahl

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    Hallo Christian,

    Zitat von squirrelcgn Beitrag anzeigen
    ich möchte ja erreichen, dass der gesamte HTML-Code, welcher gerade gehovert ist, ausgegeben/gespeichert wird
    Ja, das ist auch ein wenig knifflig. Es gibt zwar bei Elementknoten die Eigenschaft innerHTML, aber das bezieht sich nur auf den Code zwischen
    <aktuellesElement att1="val1" att2="val2">
    und
    </aktuellesElement>.

    Beim IE gab es mal (oder gibt es noch) outerHTML, was genau das ist was du willst, aber du kannst es trotzdem auch im FF nachbauen:

    Der Ansatz ist der: Man kopiert das Element samt Inhalt. Man erzeugt ein weiteres neues Element und fügt das kopierte als einziges Kind hinzu. Damit ist das innerHTML des neuen Elements gleich dem outerHTML des inneren (kopierten).

    Code:
    var deinElement = ...; // das ist das von dem du den Code haben willst
    var kopie = deinElement.cloneNode(true); // true steht für deep copy
    document.body.appendChild(document.createElement("div"));
    document.body.lastChild.appendChild(kopie);
    var deinCode = document.body.lastChild.innerHTML;
    document.body.removeChild(document.body.lastChild);
    In deinCode findest du dann den HTML-Code von deinElement inkl. Start- und Endtag sowie Attributen.

    Gruß,

    Anja
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #17
      Zitat von squirrelcgn Beitrag anzeigen
      ...und auch currentNode.toString() funktioniert nicht. :-(
      Natürlich, das wird auch nie "funktionieren" - da wird immer nur etwas a la "HTMLIrgendwasObject" bei herauskommen.

      Auf innerHTML wurdest du doch bereits hingewiesen - wenn dir irgendwas halbwegs brauchbare Ergebnisse liefern wird, dann das (bzw. eine der Abwandlungen davon, die manche Browser vielleicht noch kennen, wie outerHTML o.ä.).
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #18
        WOW, danke!! Aber leider habe ich es nicht geschafft, etwas anderes als "undefined" zu erhalten... :-(

        Habe im Prinzip dein Skript 1:1 übernommen und den "currentNode" als Input und die Variable "deinCode" als Output gewählt, also so:

        Code:
        //INPUT
        var deinElement = currentNode; // das ist das von dem du den Code haben willst
        
        //TRANSFORM
        var kopie = deinElement.cloneNode(true); // true steht für deep copy
        document.body.appendChild(document.createElement("div"));
        document.body.lastChild.appendChild(kopie);
        var deinCode = document.body.lastChild.innerHTML;
        document.body.removeChild(document.body.lastChild);
        
        //OUTPUT
        alert(deinCode);
        Wo kann ich ansetzen, wo kann ich evtl. nachschauen? Wie ist currentNode zu interpretieren?

        Vielen Dank und Grüße!

        Kommentar


        • #19
          Ich habs!! :-) :-D

          Hab es jetzt mit folgender Modifikation gelöst:

          Code:
          function getOuterHTML(object) {
          
                var element;
          
                if (!object) return null;
          
                element = document.createElement("div");
          
                element.appendChild(object.cloneNode(true));
          
                return element.innerHTML;
            };
          Vielen Dank an Anja und alle anderen!

          Grüße!

          Kommentar

          Lädt...
          X