【问题标题】:Javascript: Does not change the div innerHTMLJavascript:不更改 div innerHTML
【发布时间】:2012-04-14 22:47:49
【问题描述】:

我真的不明白为什么这不起作用。我已经尝试了几个技巧,但我就是不明白。

<html>
<head>
<script type="text/javascript">
alert('Hey');
    var vText = document.getElementById("results");
        vText.innerHTML = 'Changed';
        alert(vText.innerHTML);
</script>
</head>
<body>
<div id="results">
hey there
</div>
</body>
</html>

【问题讨论】:

  • 请发布您的 HTML 代码,最好提供一个 jsfiddle (jsfiddle.net),以便我们更轻松地为您提供帮助
  • @rami 正在处理它,现在
  • @Hoque 我基本上是在 textEdit 中写的,并试图在 Safari 上查看
  • 你把那个脚本放在哪里了?在一个功能?
  • jsfiddle.net/sK7GU 检查这个小提琴。您向我们展示的 sn-p 没有问题..这里的每个人都在猜测这可能是问题所在,除非显示您的 HTML 文件,否则很难修复...

标签: javascript html


【解决方案1】:

正如您在此处看到的那样:

http://jsfiddle.net/gHbss/

将 JavaScript 放在 HTML div 容器之后很重要。

【讨论】:

    【解决方案2】:

    您面临的问题是浏览器在呈现/处理页面时运行 JavaScript。此时它将alert()您的消息,但相关元素#resultsdiv不存在于DOM中,因此无法更改任何内容。

    要解决这个问题,您可以将script 放在页面末尾,就在关闭&lt;/body&gt; 标记之前,或者在bodywindowonload 事件中运行代码.

    【讨论】:

      【解决方案3】:

      脚本必须放在 div#results 之后或执行 onload,否则当你尝试访问它时,该元素仍然是未知的。

      【讨论】:

        【解决方案4】:

        您需要在 onload 事件中调用此脚本 即

         window.onload=function(){
        //your code
        }
        

        【讨论】:

          【解决方案5】:
          <html>
          <head>
          <script type="text/javascript">
          function onloadCall()
          {
              alert('Hey');
              var vText = document.getElementById("results");                                                 
              vText.innerHTML = 'Changed';
              alert(vText.innerHTML);
          }
          </script>
          </head>
          <body onload="onloadCall()">
              <div id="results">
              hey there
              </div>
          </body>
          </html>
          

          希望上面的 sn-p 显示修复方法

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2018-04-19
            • 2011-01-16
            • 1970-01-01
            • 1970-01-01
            • 2016-01-02
            • 2023-03-21
            • 2012-10-02
            • 1970-01-01
            相关资源
            最近更新 更多