[英]Change label text using JavaScript
為什么以下不適合我?
<script>
document.getElementById('lbltipAddedComment').innerHTML = 'Your tip has been submitted!';
</script>
<label id="lbltipAddedComment"></label>
因為您的腳本在頁面上存在標簽之前運行(在DOM中)。 將腳本放在標簽之后,或者等到文檔完全加載(使用OnLoad函數,例如jQuery ready()
或http://www.webreference.com/programming/javascript/onloads/ )
這不起作用:
<script>
document.getElementById('lbltipAddedComment').innerHTML = 'your tip has been submitted!';
</script>
<label id="lbltipAddedComment">test</label>
這將有效:
<label id="lbltipAddedComment">test</label>
<script>
document.getElementById('lbltipAddedComment').innerHTML = 'your tip has been submitted!';
</script>
這個例子(jsfiddle鏈接)維護順序(首先是腳本,然后是標簽)並使用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>
您是否嘗試過.innerText
或.value
而不是.innerHTML
?
因為執行腳本時未加載標簽元素。 交換標簽和腳本元素,它將工作:
<label id="lbltipAddedComment"></label>
<script>
document.getElementById('lbltipAddedComment').innerHTML = 'Your tip has been submitted!';
</script>
請改用.textContent
。
我也在努力改變標簽的價值,直到我嘗試了這一點。
如果這沒有解決,請嘗試檢查對象以查看可以通過使用console.dir
將其登錄到控制台來設置的屬性,如此問題所示: 如何將HTML元素記錄為JavaScript對象?
使用.innerText
應該可行。
document.getElementById('lbltipAddedComment').innerText = 'your tip has been submitted!';
這是使用jQuery更改標簽文本的另一種方法:
<script>
$("#lbltipAddedComment").text("your tip has been submitted!");
</script>
因為腳本將首先執行..當腳本執行時,此時控件不會被加載。 所以在加載控件后你就編寫了一個腳本。
它會工作。
試試這個:
<label id="lbltipAddedComment"></label>
<script type="text/javascript">
document.getElementById('<%= lbltipAddedComment.ClientID %>').innerHTML = 'your tip has been submitted!';
</script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.