2016-07-21 15 views
2

Ich habe ein output Tag, dessen Wert dynamisch über JavaScript eingestellt wird. Das funktioniert in Chrome und Firefox gut, aber Microsoft-Browser (IE und Edge) scheinen es nicht zu erkennen und die value ist für diese Tags immer leer.Wert des Ausgabeelements über JavaScript in Edge und IE einstellen

HTML:

document.getElementById("owned").value = "Test 1";  
 
    document.getElementById("used").value = "Test 2";
<output class="output" id="owned"></output> 
 
    <output class="output" id="used"></output>

Es funktioniert sogar, wenn ich den Code-Schnipsel auf Stack-Überlauf laufen.

Frage: Gibt es einen Grund, warum die Werte in diesen Browsern nicht eingestellt werden? Gibt es eine Datei, die ich in meinen HTML-Code importieren muss, damit er auf IE/Edge funktioniert?

+0

Eröffnen diese Frage Link auf IE 11 und das Snippet auf es nicht funktioniert entweder – Juan

+0

Output-Tag mit IE11 oder Edge nicht kompatibel ist – spaniol6

+0

MDN behauptet, dass IE doesn‘ t unterstützt das '' Element. – canon

Antwort

1

Verwenden Sie span und .innerHTML. <output> HTML-Tag scheint auf Edge nicht zu funktionieren.

+0

Perfekt, das hat den Trick gemacht. Vielen Dank – Juan

2

Microsoft Edge hinzugefügt Unterstützung für <output> *.

Vorerst könnten Sie für die Unterstützung testen, gegebenenfalls auf die textContent Eigenschaft zu schreiben statt:

var used = document.querySelector("#used"); 
 
var owned = document.querySelector("#owned"); 
 

 
// Temporarily fall back to textContent 
 
var property = "value" in used ? "value" : "textContent"; 
 
used[ property ] = "Test 1"; 
 
owned[ property ] = "Test 2";
<output class="output" id="owned"></output> 
 
<output class="output" id="used"></output>

* Zum Zeitpunkt des Schreibens dieses Artikels, MS Edge-14 nur zur Verfügung steht Insiders. Es wird am 2. August 2016 für Freigabe (Windows 10 Anniversary Update)

Verwandte Themen