使用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> 

使用.innerText应该工作。

 document.getElementById('lbltipAddedComment').innerText = 'your tip has been submitted!'; 

改用.textContent

我也在努力改变标签的价值,直到我尝试了这个。

如果这样还不能解决问题,请尝试通过console.dir将其logging到控制台来查看可以设置的属性,如下所示: 如何将HTML元素作为JavaScript对象logging?

因为脚本将首先执行..当脚本将得到执行的时间控件没有得到加载。所以加载控件后,你写脚本它将工作