Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JavaScript更改标签文本_Javascript_Html_Label_Innerhtml - Fatal编程技术网

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