[JavaScript] Problem mit "InnerHTML"

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Nemesis Force, 31. Oktober 2008 .

Schlagworte:
  1. 31. Oktober 2008
    Problem mit "InnerHTML"

    Hallo,
    ich habe ein Problem. Ich habe einen DIV-Container mit der ID "domain" - wenn ich auf ein Bild klicke, dann soll das Bild erscheinen und gleichzeit soll eine JS-Funktion einen Text an diesen Container übergeben.

    Wenn ich reinen Text übergeben will funktioniert alles Problem los - auch so funktioniert der Ablauf reibungslos. Nur wenn ich einen Linktext an diesen DIV-Container sende, dann passiert nichts...

    Hier mal die JS-Funktion:
    Code:
    document.getElementById('domain').innerHTML = '<a href='http://www.domainname.de' target='_blank'>Hier klicken, um diese Website besuchen.</a>';
    Der Text "Hier klicken, um diese Website besuchen." erscheint ja auch, nur leider ist das kein Link, also ich kann die Website nicht besuchen - ich kann den Text nicht anklicken - Warum denn, was mache ich falsch?

    Danke schonmal für eventl. Lösungsvorschläge!

    ~edit: komisch, den Tag "strong" kann er lesen und erkennt ihn auch als solchen...
     
  2. 31. Oktober 2008
    AW: Problem mit "InnerHTML"

    Probiers mal so:
    PHP:
    document . getElementById ( 'domain' ). innerHTML  "<a href='http://www.domainname.de' target='_blank'>Hier klicken, um diese Website besuchen.</a>" ;
    MFG Ralphwiggum
     
  3. 31. Oktober 2008
    AW: Problem mit "InnerHTML"

    So sollte es gehen
    HTML:
    document.getElementById('domain').innerHTML = "<a href='http://www.domainname.de' target='_blank'>Hier klicken, um diese Website besuchen.</a>";
     
  4. 31. Oktober 2008
    AW: Problem mit "InnerHTML"

    Hab ich doch auch genau so bei mir im Post !
     
  5. 31. Oktober 2008
    AW: Problem mit "InnerHTML"

    OH, sorry das hab ich über sehen. Okay dann erkläre ich das nochmal ^^.

    Ich stelle das mal Farbig da wo der Fehler liegt.

    document.getElementById('domain').innerHTML = '<a href=' http://www.domainname.de ' target=' _blank '>Hier klicken, um diese Website besuchen.</a>';

    Die Zeichen " und ' werden unterschiedlich behandelt.

    Wenn man mit " angängt muss es auch mit " enden. Wenn man mit ' anfängt endet die Zeichenkette mit dem ersten ' was kommt.

    Also beginnt man einfach mit " und endet mit " die ' werden dann ignoriert.

    Hoffe das war okay
     
  6. 31. Oktober 2008
    AW: Problem mit "InnerHTML"

    Hi,
    also erstmal danke für die schnellen Antworten. Bewertungen sind raus. Allerding funktioniert das nicht, denn da wo die JS-Funktion eingebaut wird, erscheint jetzt dieser Text:

    Ich checks nich...
     
  7. 31. Oktober 2008
    AW: Problem mit "InnerHTML"

    probiers mal mit validem html.
    Code:
    document.getElementById('domain').innerHTML = '<a href="http://www.domainname.de" target="_blank">Hier klicken, um diese Website besuchen.</a>';
    falls du dieses script direkt im dokument ausführst muss das ganze als CDATA makiert werden.

    HTML:
    <script type="text/javascript">
    //<![CDATA[
    //dein script...
    //]]>
    </script>
     
  8. 1. November 2008
    AW: Problem mit "InnerHTML"

    Meines Wissens haben einige Browser Probleme mit der Interpretierung von getElementById.

    Da ich persönlich zu faul bin, dann immer Browser-Abfragen einzubauen und x verschiedene Varianten schreibe, bin ich auf JQuery umgestiegen.
    Wenn du JQuery benutzt würde der Code wie folgt aussehen
    Code:
    $("#domain").html("<a href=\"http://www.domainname.de\" target=\"_blank\">Hier klicken, um diese Website besuchen.</a>");
     
  9. 1. November 2008
    AW: Problem mit "InnerHTML"

    joa klar, wenn browser probleme mit getElementById haben (= alte browser) einfach XPath nehmen, in verbindung mit ner lib die auf alten browsern garnicht lauffähig is...

    beim nächsten mal voher nochmal nachdenken, dann erst posten.
     
  10. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.