Javascript:无法使用 getElementById 获取元素[重复]

2023-12-09

好的。我需要新的眼光,因为我还在这个问题上待了一个小时!

这是我的简单 HTML 代码 (testssio.html),其中包含 javascript 脚本:

<!DOCTYPE html>
<html>
<head>
    <script type="text/javascript">
        var ssio = document.getElementById('ssio');
        ssio.html = "it finally works!";
    </script>
</head>
<body>
    <div id="ssio"></div>
</body>
</html>

但这不起作用!使用调试器,我得到:

Uncaught TypeError: Cannot set property 'html' of null          /testssio/:6

有人明白吗?我知道这不是寻找调试帮助的正确位置,但如果我没有得到它,我会发疯的!所以请问有什么帮助吗?

提前致谢。


其原因是头部中的脚本在页面呈现之前加载。这意味着您的内容尚未呈现,因此不属于document.

如果您想看到这项工作,请尝试将脚本移到元素渲染下方,如下所示:

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div id="ssio"></div>
<script type="text/javascript">
    var ssio = document.getElementById('ssio');
    ssio.innerHTML = "it finally works!";
</script>
</body>
</html>

一种更标准化的方法是使用事件。很多人用jQuery但用普通的js就可以完成。这意味着像这样更改您的脚本:

<script type="text/javascript">
  function WinLoad() {
    var ssio = document.getElementById('ssio');
    ssio.innerHTML = "It finally works!";
  }
  window.onload = WinLoad;
</script>

这样您仍然可以将其留在<head>.

另外,使用.html来自jQuery。它一般用作.html(content)。如果你想使用纯 JavaScript 版本,请使用.innerHTML = content.

我之所以多次提到 jQuery,是因为它是一个使用率很高的 API。这句话来自他们的网站:

jQuery 是一个快速而简洁的 JavaScript 库,它简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互,以实现快速 Web 开发。 jQuery 旨在改变您编写 JavaScript 的方式。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Javascript:无法使用 getElementById 获取元素[重复] 的相关文章

随机推荐

  • array:将一维数组的索引转换为多维数组的向量索引

    这将是一个很长的问题 请在阅读之前深呼吸 我想了解将一维数组的索引转换为多维数组的向量索引的最快算法是什么 让我们继续看一个例子来理解为什么我需要它 我有一个二维数组 Array i1 i2 i1 从 i1 b 0 运行到 i1 e 2 i
  • Android系统应用DEVICE_POWER权限错误

    我尝试使用goToSleep 让手机进入深度睡眠的方法 程序被安装到 system app 目录中 因此 Android 系统信息显示 它是一个系统应用程序 但如果我尝试调用 goToSleep 我会收到此错误 用户 10085 和当前进程
  • 如何在 spring-security 5.7 中配置 ldap,同时保留基本表单登录

    我正在尝试配置我的 webSecurity 以使用 ldap 和基本身份验证 jdbc 以及新的基于组件的安全配置 无 WebSecurityConfigurerAdapter 但我无法让它同时使用两者 所需的结果是 spring 第一次尝
  • Google Analytics Tracker 不适用于 Android 应用

    我已将 Google Analytics 纳入我的应用程序中 但是当我创建一个对象时Tracker追踪器不工作 我的一项活动中的代码 Override protected void onStart TODO Auto generated m
  • 如何为事件处理程序提供变量?

    当我绑定某些东西时 如何将变量赋予函数 举个简单的例子 def test self self MyTextCtrl Bind wx EVT TEXT self something AnyVariable def something self
  • 验证视图状态 MAC 失败 - “/”应用程序中的服务器错误

    当我访问我的托管 Web 应用程序时出现此错误 在 VS2008 C ASP NET 3 5 Framework 中 视图状态 MAC 验证失败 如果此应用程序由 Web Farm 或集群托管 请确保配置指定相同的validationKey
  • 覆盖 SemanticException [错误 10001]

    我想更改 hive 数据库中的 1000 个表 但其中一些表存在 有些不存在 当我执行该 sql 文件时 一旦发现表不存在 它就会从配置单元退出 所以请帮助我覆盖或跳过那些表不存在于配置单元中的查询 尝试这个配置参数 set hive cl
  • React Router V4 - 页面不会在更改的路由上重新渲染

    我正在构建一个小应用程序来学习 React 和 Meteor 要求用户输入一个位置 根据这个位置 用户被路由到一个新页面 该位置显示在页面顶部 以及基于该位置的数据库中的一些数据 还没有 这是我的 下一步 我将位置存储在组件的状态中 现在如
  • JavaScript - 如何提取 If/Else 语句中的字符串

    在搜索 imgNumber 变量后 我尝试使用 If Else 语句在屏幕上写入某些文本 由于某种原因 无论 imgNumber 变量中包含哪个文本 它都只写入字符串 cockroaches 此外 imgNumber 是一个随机字符串 它始
  • scala 中的闭包是如何实现的?

    创建函数时 如何将函数范围之外的变量拉入函数中 我尝试反编译 但我无法理解它 看起来它使用了 putfield putfield 是否创建一个指向对象引用的指针 答案是 这取决于 scala 2 11 版本可能会对此进行一些重大更改 希望
  • 显式 range-v3 decltype 计算结果为 void?

    我正在尝试获取范围的显式类型 将来我可能想将其存储为类中的字段 然而 由于某种原因 它评估为void include
  • @ManagedProperty 不反映更改并始终返回 null

    我试图将一个 sessionscoped bean 的值注入到 viewscoped bean 中 但它一直返回 null 这是一个片段 import javax faces application FacesMessage import
  • 通过大量连接优化 MySQL 查询

    我目前运行一个网站 该网站在列表中跟踪最新的分数和评级 该列表有数千个经常更新的条目 并且该列表应该可以按这些分数和评级列进行排序 目前获取这些数据的 Mysql 看起来像 大致 SELECT e SUM sa amount AS scor
  • 如何在 Appengine 中删除或重置搜索索引

    情况 好的 我们已经在 appengine 中安装了我们的应用程序 并激活了全文搜索 我们在文档上设置了一个索引 其中包含名为 日期 的字段 该字段是 DateField 现在我们更改了文档的模型 因此字段 date 现在是 Numeric
  • Hadoop 启用日志记录

    我正在尝试在单集群模式下使用从源代码构建的 hadoop 我检查了 0 22 0 alpha 1 我在日志记录方面遇到了一些问题 如何启用调试日志 我尝试添加 log4j logger org apache hadoop mapred Jo
  • 使 Excel 图表上的 X 轴和 Y 轴比例相等

    我希望 Excel 图表的 X 轴和 Y 轴在屏幕上具有相同的比例 因为我正在绘制地理数据 1 公里 x 1 公里的正方形应该看起来像一个正方形 而不是一个矩形 即地图在一个或另一个方向上不会被挤压 在 Matlab 中 执行此操作的命令是
  • 无法在 Cron 中运行 Python 脚本

    我有一个简单的 Python 脚本 我试图将其设置为 cron 作业 但它拒绝运行 当我单独运行它时 它确实会运行 并将其称为 python script py 我尝试在 crontab 中设置环境变量 但无法让它工作 我的 crontab
  • C 位标志枚举应如何转换为 C++?

    C 大部分是 C 的超集 但并非总是如此 特别是 虽然 C 和 C 中的枚举值都隐式转换为 int 但反之则不然 只有在 C 中 int 才会转换回枚举值 因此 通过枚举声明定义的位标志无法正常工作 因此 这在 C 中是可以的 但在 C 中
  • 在 PDF 页面上运行 Chrome 插件

    使用 Chrome 扩展程序 我想 检测当前选项卡是否已加载 PDF 文件 向 popup html 添加一个按钮以提供将 PDF 转换为 HTML5 的功能 获取 PDF 文件的 URL 并将其发送到在线服务 为了实现 1 我认为本页上的
  • Javascript:无法使用 getElementById 获取元素[重复]

    这个问题在这里已经有答案了 好的 我需要新的眼光 因为我还在这个问题上待了一个小时 这是我的简单 HTML 代码 testssio html 其中包含 javascript 脚本 div div 但这不起作用 使用调试器 我得到