使用 JavaScript 更改标签文本
2022-08-30 05:42:12
为什么以下方法对我不起作用?
<script>
document.getElementById('lbltipAddedComment').innerHTML = 'Your tip has been submitted!';
</script>
<label id="lbltipAddedComment"></label>
为什么以下方法对我不起作用?
<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