Warum funktioniert das nicht für mich?Ändern Sie Etikettentext mit Javascript
<script>
document.getElementById('lbltipAddedComment').innerHTML = 'your tip has been submitted!';
</script>
<label id="lbltipAddedComment"></label>
Warum funktioniert das nicht für mich?Ändern Sie Etikettentext mit Javascript
<script>
document.getElementById('lbltipAddedComment').innerHTML = 'your tip has been submitted!';
</script>
<label id="lbltipAddedComment"></label>
Da Ihr Skript ausgeführt wird, bevor das Label auf der Seite (im DOM) vorhanden ist. Entweder das Skript setzen, nachdem das Etikett, oder warten Sie, bis das Dokument vollständig geladen ist (verwenden Sie eine OnLoad-Funktion, wie die jQuery ready()
oder http://www.webreference.com/programming/javascript/onloads/)
Das wird nicht funktionieren:
<script>
document.getElementById('lbltipAddedComment').innerHTML = 'your tip has been submitted!';
</script>
<label id="lbltipAddedComment">test</label>
Dies funktioniert:
<label id="lbltipAddedComment">test</label>
<script>
document.getElementById('lbltipAddedComment').innerHTML = 'your tip has been submitted!';
</script>
This example (jsfiddle link) behält die Reihenfolge (Skript zuerst, dann Label) und verwendet einen onLoad:
<label id="lbltipAddedComment">test</label>
<script>
function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
} else {
window.onload = function() {
if (oldonload) {
oldonload();
}
func();
}
}
}
addLoadEvent(function() {
document.getElementById('lbltipAddedComment').innerHTML = 'your tip has been submitted!';
});
</script>
Weil das Label-Element nicht geladen wird, wenn das Skript ausgeführt wird. Swap-Label und Script-Elemente und es wird funktionieren:
<label id="lbltipAddedComment"></label>
<script>
document.getElementById('lbltipAddedComment').innerHTML = 'your tip has been submitted!';
</script>
Oh, habe ich nicht bemerkt! Ja, wenn der gepostete Code den tatsächlichen Code widerspiegelt (verwendet jQuery nicht, um auf document.ready oder ähnlichem zu feuern), dann ist das ein Grund, warum es nicht so gut funktionieren würde. – GordonM
Haben Sie versucht .innerText
oder .value
statt .innerHTML
?
.Wert funktioniert nicht für Label - gibt undefinierte Ausgabe –
.innerText funktioniert für Label. Ich habe das Script-Tag innerhalb
und das Design in . Obwohl es für mich gut funktioniert. – JaiAuf Firefox funktioniert zur Zeit nur '.textContent'. –
Da wird Skript ausgeführt werden sollen erste ..when Skript wird, dass die Zeit Kontrollen ausgeführt werden sollen nicht nach der Kontrolle Sie Skript schreiben Laden bekommen loaded.so wird es funktionieren
.innerText
Mit funktionieren sollte.
document.getElementById('lbltipAddedComment').innerText = 'your tip has been submitted!';
Verwenden Sie stattdessen .textContent
.
Ich hatte auch Schwierigkeiten, den Wert eines Etiketts zu ändern, bis ich das versuchte.
Wenn dies nicht lösen nicht versuchen, das Objekt inspizieren, um zu sehen, welche Eigenschaften Sie, indem Sie es an die Konsole mit console.dir
auf diese Frage, wie gezeigt einstellen: How can I log an HTML element as a JavaScript object?
Danke. Ich vermute (habe aber nicht genau bestätigt), dass mein Anwendungsfall dem in der Frage ähnlich ist: Ich habe versucht, den Text eines Etiketts, das ein geschachteltes Eingabeelement hat, z.Ich wollte abrufen und/oder ändern die "" hier eingeben: "' Teil der folgenden: ' '. Nur '.textContent' funktionierte, und keiner von' .innerHTML', '.innerText' oder' .value' funktionierte. (Haftungsausschluss: Ich habe nur in Chrome eingecheckt.) –
Try this:
<label id="lbltipAddedComment"></label>
<script type="text/javascript">
document.getElementById('<%= lbltipAddedComment.ClientID %>').innerHTML = 'your tip has been submitted!';
</script>
Ein Link zu einer Lösung ist willkommen, aber bitte stellen Sie sicher, dass Ihre Antwort ohne sie nützlich ist: [Fügen Sie einen Kontext um den Link hinzu] (// meta.stackexchange.com/a/8259) Damit Ihre Mitbenutzer eine Idee davon haben, was es ist und warum es da ist, dann zitieren Sie den relevantesten Teil der Seite, auf die Sie verlinken, falls die Zielseite nicht verfügbar ist. [Antworten, die kaum mehr als ein Link sind, können gelöscht werden.] (// stackoverflow.com/help/deleted-answers) – paper1111
oops ! Sorry, dass sollte "doesnt"; 0 –
Weil, wenn Sie versuchen, Label innerHtml zu ändern, lbltipAddedComment tatsächlich nicht auf der Seite vorhanden. Fügen Sie ein Skript nach dem Etikett ein oder verwenden Sie jquery $ (document) .ready() –
Es tut uns leid, die Schaltfläche zum Bearbeiten nicht zu sehen! –