使用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?
因为脚本将首先执行..当脚本将得到执行的时间控件没有得到加载。所以加载控件后,你写脚本它将工作