2013-08-03 16 views
5

Ich habe ein kleines Problem, ich habe eine JSON-Variable für Übersetzungen. Und ich möchte es auf HTML setzen. Gibt es einen Weg, es irgendwie zu schaffen?Wie man Variable in HTML einfügt

Meine JS-Datei:

var Karting = Karting || {}; 

Karting = { 

lang : 'lv', 
translationsLV: { 
    "Home" : "Ziņas", 
}, 
} 

und ich möchte, dies zu tun:

Meine Seite ist statisch und ich bin keine Templat-Motoren verwenden.

<li><a class="active" href="#">Karting.translationsLV['Home']</a></li> 

EDIT:

hat dieses Bild:

$(window).load(function() { 
     var translations; 
     if (Karting.lang=='lv') 
     { 
      translations = Karting.translationsLV; 
     } 
     else 
     { 
      translations = Karting.translationsENG; 
     } 
      }, false); 

Dies zeigt nicht mein Element

document.write(translations['Home']) 

UncaughtRefferenceError - Übersetzungen ist nicht definiert

Antwort

11

Eine Möglichkeit document.write zu verwenden ist:

<li><a class="active" href="#"><script>document.write(Karting.translationsLV['Home'])</script></a></li> 
+0

sorry für die Mühe, aber was ich in meinem bearbeiten falsch gemacht haben? – Cheese

+0

@Käse versuchen, diese Zeile: 'var Übersetzungen;' außerhalb der '$ (window) .load' -Funktion setzen Sie es einfach vor der Funktion – Cherniv

+0

Immer noch nicht readproperty Home von undefined – Cheese

0

Zu allererst Ihre JSON ist nicht korrekt. Dort ist ein zusätzliches Komma. Es sollte

sein
{ 
lang : 'lv', 
translationsLV: { 
    "Home" : "Ziņas", 
} 
} 
+0

Sie haben auch ein zusätzliches Komma – iConnor

+0

Ok, also ist das Nachkommen von Kommas in JSON ** nicht ** falsch, obwohl es in älteren Browsern Probleme verursacht. Sie haben ein abschließendes Komma entfernt, aber Sie haben noch eins hinterlassen. – iConnor

+0

Komma ist nicht für JSON es ist für eine Variable Karting – Cheese

3

Verwenden Sie einfach innerHTML für diesen Fall.

var Karting = { 
    lang : 'lv', 
    translationsLV: { 
     Home: "Ziņas" 
    } 
}, 
homeInfo = document.getElementById('homeInfo'); 
homeInfo.innerHTML = Karting.translationsLV.Home; 

HTML:

<li><a id="homeInfo" class="active" href="#"></a></li> 
+0

das bricht CSS und meine Elemente schwimmt, wo es will – Cheese

+0

Wie brichst du dein CSS? – iConnor

Verwandte Themen