2017-05-27 3 views
1

Mit diesem Code hier wählen Sie das angeklickte Element hat Konsole Protokollierung etwas anderes als die targetElement produziert eine [object HTMLElement]. Gibt es eine mögliche einfache Methode, um ein String-Ergebnis zu erzeugen? Javascript oder Jquery.Formatierung [Objekt HTMLElement] zu variabler Zeichenkette

if (document.addEventListener){ 
    document.addEventListener("click", function(event){ 
     var targetElement = event.target || event.srcElement; 
     console.log(targetElement); 
    }); 
} else if (document.attachEvent) {  
    document.attachEvent("onclick", function(){ 
     var targetElement = event.target || event.srcElement; 
     console.log(targetElement); 
    }); 
} 
+0

Was meinst du mit "einfach"? –

Antwort

0

versuchen targetElement.outerHTML

if (document.addEventListener){ 
 
    document.addEventListener("click", function(event){ 
 
     var targetElement = event.target || event.srcElement; 
 
     console.log(targetElement.outerHTML); 
 
    }); 
 
} else if (document.attachEvent) {  
 
    document.attachEvent("onclick", function(){ 
 
     var targetElement = event.target || event.srcElement; 
 
     console.log(targetElement.outerHTML); 
 
    }); 
 
}

Wenn Sie nur das Element erhalten möchten (nicht innere html) klonen, dass der Knoten und stellen innerHTML-

if (document.addEventListener){ 
 
    document.addEventListener("click", function(event){ 
 
     var targetElement = event.target || event.srcElement; 
 
      
 
      var newELement = targetElement.cloneNode(); 
 
     newELement.innerHTMl=""; 
 
     console.log(newELement.outerHTML); 
 
     
 
    }); 
 
} else if (document.attachEvent) {  
 
    document.attachEvent("onclick", function(){ 
 
     var targetElement = event.target || event.srcElement; 
 
      
 
      var newELement = targetElement.cloneNode(); 
 
     newELement.innerHTMl=""; 
 
     console.log(newELement.outerHTML); 
 
    }); 
 
}
zu leeren

+0

Wenn Sie den Code in der Konsole testen, um auf ein Element zu klicken, werden die umgebenden Tags und Attribute entfernt. Gibt es eine Möglichkeit, den gesamten Wert als Zeichenfolge beizubehalten? – Pleb

+0

@Pleb Verwenden Sie Outerhtml anstelle von innerer HTML.Aktualisiertes Snippet – XYZ

+0

Während dies für bestimmte Teile gut ist, hinterlässt es extreme redundante Informationen für bestimmte Teile wie das Klicken auf den Hintergrund. Wo das Objekt durch die Konsole "

...
" verlässt, wird der gesamte Code der Seite gedruckt, was ziemlich viel ist. Obwohl es alles innerhalb des "..." hat, ist es möglich, dass es zum Beispiel einfach "
Verwandte Themen