使用JavaScript更改标签文本
为什么下面这些对我不起作用使用JavaScript更改标签文本,javascript,html,label,innerhtml,Javascript,Html,Label,Innerhtml,为什么下面这些对我不起作用 <script> document.getElementById('lbltipAddedComment').innerHTML = 'Your tip has been submitted!'; </script> <label id="lbltipAddedComment"></label> document.getElementById('lbltipAddedComment')。innerHTML='
<script>
document.getElementById('lbltipAddedComment').innerHTML = 'Your tip has been submitted!';
</script>
<label id="lbltipAddedComment"></label>
document.getElementById('lbltipAddedComment')。innerHTML='您的提示已提交!';
因为脚本在页面(DOM中)上存在标签之前运行。将脚本放在标签后面,或者等待文档完全加载(使用OnLoad函数,例如或)
这行不通:
<script>
document.getElementById('lbltipAddedComment').innerHTML = 'your tip has been submitted!';
</script>
<label id="lbltipAddedComment">test</label>
document.getElementById('lbltipAddedComment')。innerHTML='您的提示已提交!';
测试
这将有助于:
<label id="lbltipAddedComment">test</label>
<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>
测试
document.getElementById('lbltipAddedComment')。innerHTML='您的提示已提交!';
维护顺序(先脚本,然后标签)并使用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>
测试
函数addLoadEvent(func){
var oldonload=window.onload;
if(typeof window.onload!=“function”){
window.onload=func;
}否则{
window.onload=函数(){
如果(oldonload){
oldonload();
}
func();
}
}
}
addLoadEvent(函数(){
document.getElementById('lbltipAddedComment')。innerHTML='您的提示已提交!';
});
因为执行脚本时未加载标签元素。交换标签和脚本元素,它将工作:
<label id="lbltipAddedComment">test</label>
<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>
document.getElementById('lbltipAddedComment')。innerHTML='您的提示已提交!';
您是否尝试过用.innerText
或.value
代替.innerHTML
因为脚本将首先执行。。当脚本执行时,此时没有加载控件。因此,在加载控件后,您将编写一个脚本
它可以工作。使用
。innerText
应该可以工作
document.getElementById('lbltipAddedComment').innerText = 'your tip has been submitted!';
改用
.textContent
我也在努力改变标签的价值,直到我尝试了这个
如果这还不能解决问题,请尝试通过使用console.dir
将对象记录到控制台,查看可以设置哪些属性,如此问题所示:尝试以下操作:
<label id="lbltipAddedComment"></label>
<script type="text/javascript">
document.getElementById('<%= lbltipAddedComment.ClientID %>').innerHTML = 'your tip has been submitted!';
</script>
document.getElementById(“”).innerHTML='您的提示已提交!';
下面是使用jQuery更改标签文本的另一种方法:
<script>
$("#lbltipAddedComment").text("your tip has been submitted!");
</script>
$(“#lbltipAddedComment”).text(“您的提示已提交!”);
检查oops!对不起,应该是“不”;0因为当脚本尝试更改标签innerHtml时,lbltipAddedComment实际上不在页面中。在标签后插入脚本或使用jquery$(document).ready()抱歉,没有看到编辑按钮!我尝试了这里的所有建议,但都不管用。哦,我没注意到!是的,如果发布的代码反映了真实的代码(没有使用jquery对document.ready或类似的代码进行激发),那么这就是为什么它不起作用的原因。.innerText对label起作用。我有脚本标签在里面,设计在里面。即使它对我很好。@ashing你的评论救了我一命。我正在用
.value
敲打我的头,因为标签
尝试使用.text(“您的文本”)
谢谢。我怀疑(但尚未严格确认)我的用例与问题中的用例类似:我试图检索和/或更改具有嵌套输入元素的标签的文本,例如,我想检索和/或更改“在此处输入信息:
以下部分:在此处输入信息:
。只有.textContent
起作用,而.innerHTML
、.innerText
或.value
均未起作用。(免责声明:我只注册了Chrome。)谢谢,我点击了相同的problem@AndrewWillems不幸的是,.textContent
和.innerText
(虽然阅读效果很好),在我的firefox60中无法进行编写(它还删除了嵌入的输入字段,就像.innerHTML
)。所以我不得不求助于document.getElementById('myLabel').childNodes[0]。nodeValue=“new label text”
(当然,索引可能是0以外的东西,这使它有点麻烦,但对我来说很有用)欢迎指向解决方案的链接,但是请确保你的答案在没有它的情况下是有用的:这样你的其他用户就会知道它是什么以及它为什么在那里,然后引用你链接到的页面中最相关的部分,以防目标页面不可用。我认为。textContent的答案实际上是正确的。Well@PaulTaylor,这个答案自2010年以来就在这里,有92张赞成票(现在是你的反对票)。这个问题使用了innerHTML,所以我只修改了使他的代码运行所必需的内容。虽然我觉得建议额外的想法总是可以的(“嘿,顺便说一句,使用textcontent而不是innerhtml/innertext),这不是OP的问题…没有必要投否决票。好吧,但他有没有成功过?他最后的评论是什么都不起作用,所以我的理解是你的解决方案不起作用,当然对我不起作用,看起来这对textContent有效,但对innerHtml无效,这是为什么?@PaulTaylor答案可能对OP有效,因为他是将此答案标记为已接受。您的代码中有一个输入错误。您正在使用innerHtml而不是答案所示的innerHtml。