使用什么来代替 document.write 或 InnerHTML?

2024-01-10

假设我有这样的 html 代码:

<script>
    // just an example function to get data from input
    function getNumber(form) {
var userInput = new Number;
// convert form values into numbers
userInput = Number(form.enteredNumber.value);
return userInput;   
    }
    function countNumbers(form) {
    var lastNumber = getNumber(form); // the last number to be counted
        for (i = 1; i <= lastNumber; i++) { //count the numbers
            document.write(" "+i); // put the numbers on the page
            if((i % 10) == 0) {
            document.write("<br>"); // insert a break 10 by 10 to create a block of numbers
            }
        }
    }
</script>
<form>
Enter a number:<input type="text" name="enteredNumber"/>
<input type="button" value="Count!" onClick="countNumbers(this.form);"/>
</form>
<div id="numberBlocks"></div>

因此,如果用户输入 25,结果将接近我想要的,如下所示:

1 2 3 4 5 6 7 8 9 10

11 12 13 14 15 16 17 18 19

20 21 22 23 24 25

但 document.write 会清除整个页面,我不希望这样。 如果我使用:

document.getElementById('numberBlocks').InnerHTML = i;
document.getElementById('numberBlocks').InnerHTML = '<br>';

它只会替换元素的内容,我也不希望这样。 输出将是:

没有任何内容或数字

我该如何做到这一点,在某种程度上,页面内容不会被破坏,输出结果就是我想要的?

document.getElementById('numberBlocks').InnerHTML += i
document.getElementById('numberBlocks').InnerHTML = " " + "<br>";

也不起作用,因为它们会覆盖该元素而不是添加新元素。

这两个会生成与 document.write 相同的结果

res = document.getElementById('numberBlocks');
res.innerHTML = res.innerHTML +" "+i;
res = document.getElementById('numberBlocks');
res.innerHTML = res.innerHTML + "<br>";

好的。经过思考和测试一些事情后,我自己解决了这个问题。正确的做法是:

function countNumbers(form) {
    var lastNumber = getNumber(form); // the last number to be counted
    for (i = 1; i <= lastNumber; i++) { //count the numbers
        var spanNode = document.createElement("span");
        var textNode = document.createTextNode(" " +i);
        spanNode.appendChild(textNode);
        var breakNode = document.createElement("br");
        document.getElementById("numberBlocks").appendChild(spanNode); // put the  numbers on the page
        if((i % 10) == 0) {
            document.getElementById("numberBlocks").appendChild(breakNode);
        }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用什么来代替 document.write 或 InnerHTML? 的相关文章

  • 为什么 setInterval 会无限循环

    我正在尝试设置一个计时器 以便它显示用户的秒数和分钟剩余时间 并且我正在使用setInterval获取秒数 如果有 60 秒 则会从用户处减少 1 分钟 问题是我变得无限for每次我尝试这样做时都会循环 就像是 var userObj na
  • 特定日期的plotly js图像标记

    我正在使用这个例子 https plot ly javascript images add multiple images https plot ly javascript images add multiple images并尝试在特定日
  • 使用 Javascript/Web Audio API 访问/处理系统音频

    是否可以使用 Web Audio API 访问系统音频 以便对其进行可视化或应用均衡器 看起来可以将系统音频连接到 Web Audio API 可以访问的输入设备 即Web Audio API 获取声卡的输出 https stackover
  • 验证以防止角度形式出现重复的形式值

    我有几个表单数组 我需要进行验证 以便每个表单行中的特定字段在所有表单数组中必须是唯一的 如果任何值出现多次 则两个表单字段都必须标记为红色 我设法编写了一个函数 以便如果这些字段有任何更改 该函数将返回 true false 但我不确定如
  • 嵌套 .ajax() 调用的 JavaScript/jQuery 变量作用域问题

    我很难传递变量postData这是一个嵌套子级的序列化 jQuery 数组对象 ajax call postData成功传递给第一个 ajax 打电话 但是当我尝试在第二次使用它时 ajax 调用时 它不会发布任何表单元素 因为变量在该级别
  • Mat select - 获取selectionChange的旧值

    我有一个项目 其中有一个包含以下内容的表单mat select选择器 每当用户更改输入时 我都会向用户显示一个对话框来确认此操作 现在 The selectionChange 通知值何时更改并将新值传递为 event 当用户取消对话框时 有
  • 与拉斐尔的路径位置

    我如何使用 raphael js 更改路径位置 很奇怪的是 明显的方法不起作用 var p paper path some path string p attr fill red p attr x 200 y 100 not working
  • 如何在 mongodb-native findAndModify 中使用变量作为字段名称?

    在使用 mongodb native 驱动程序的这段代码中 我想增加在单独变量中指定的字段的值 问题在于 在这种情况下 inc 子句中的字段名称将是 变量 而不是变量的内容 在查询部分中 所选变量按预期工作并找到正确的 ID var sel
  • Angular JS未知提供者错误

    删除 Bower components 并清理缓存后 我使用 Bower install 重新安装了依赖项 该应用程序无法加载并出现以下错误 未捕获的错误 injector unpr 未知提供程序 forceReflowProvider 这
  • 热成像调色板

    自热成像早期以来 红外热像仪经常使用独特的调色板 从黑色到蓝色 品红色 橙色 黄色到亮白色 这个调色板通常被称为Iron or Ironbow 这是使用前视红外相机拍摄的图像的典型假彩色可视化 来源 维基百科 术语科特 http commo
  • 如何在模态窗口中显示pdf? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个模式窗口 其中包含锚文本 当我单击此链接时 它必须调用其他位置的 pdf 并将其显示在弹出窗口中 我怎样才能做到这一点 请帮忙
  • Safari 和 Edge 中的 audioContext.copyToChannel() 替代方案

    Safari 和 Edge 都不支持audioContext copyToChannel 函数用自定义内容填充audioBuffer 还有其他方法吗 就我而言 我想创建一个脉冲响应 用该响应填充缓冲区 并将一些声音与该缓冲区进行卷积 对于
  • Opera Mobile 9.7 Beta 设置焦点 [重复]

    这个问题在这里已经有答案了 我们使用手持式扫描仪将物品移入和移出库存 扫描仪运行一个 ASP 页 该页提交表单以移动项目 我们最近购买了一台运行 Windows Mobile 6 1 的新扫描仪 很快就意识到 Mobile IE 完全没用
  • 以编程方式将子节点添加到 jstree

    我正在尝试编写一些动态添加节点到 jstree 的代码 我已经关注了医生http www jstree com documentation crrm http www jstree com documentation crrm但无法获得一个
  • 当我尝试使用 jasmine 进行测试时,应用程序文件夹未在 Ext.appliation 中加载

    我正在尝试在我的应用程序 Ext js 5 中实现茉莉花以进行单元测试 为此 我创建了应用程序测试文件 Ext require Ext app Application Ext Loader setConfig enabled true Ex
  • 使用添加“title”属性换行符 到 JSX 元素

    我知道我可以在 HTML 中添加换行符title属性使用 10 但 React 避免了这一点 例如 这是一个 React 组件 其中包含一个标准的 未由 React 处理的组件title包含换行符的属性 并且可以在浏览器中看到效果 但是如果
  • 如何用 GreaseMonkey 替换 onclick 事件?

    该网站有一个图片库 每次我单击缩略图时 它都会在新选项卡中打开 URL 不是因为我将 Firefox 设置为在新选项卡中打开链接 我只想在同一窗口中打开 URL 缩略图的示例如下 span class thumb a href post i
  • 如何使用 Firebase Cloud Functions 在 DataSnapshot 中查找特定值

    我正在尝试创建一个云函数 该函数将在 HTTP 请求 在计时器上发送 上触发 这将删除具有特定值的所有子项 数据库节点如下所示 activities 4GI1QXUJG0MeQ8Bq19WOdCQFo9r1 uid activity ham
  • 带数字键的 Immutable.js 映射(包括性能测试)

    我在 React Native 应用程序中将 Immutable js 与 Redux 结合使用 元数据 例如查找表 是从服务器获取的 并作为 Immutable Map 保存在应用程序本地 查找值的键是整数 数据库中的主键 当我获取数据时
  • Beforeunload 无法将用户重定向到另一个页面,当用户尝试关闭窗口/选项卡时,如何将用户重定向到另一个页面/URL?

    我的以下代码无法将用户重定向到另一个页面 window on beforeunload function window location href http www google com 我希望用户在尝试关闭选项卡时被重定向到另一个页面 实

随机推荐

  • 从父目录导入

    我有这样的路径架构 gt main path init py config init py common py app 1 init py config py index py gt 我希望能够在config py gt from main
  • Rails - 具有多个数据库的同一模型(只读)

    我有多个数据库 其中有相同的表和列名称 但不同的唯一 ID 和行 它不是拥有一个包含所有行的庞大数据库 而是分成不同的数据库 这是我无法改变的 你可以认为这是从不同国家收集相同的数据 但每个国家都有自己的数据库 这些数据库是 只读 的 这意
  • 将结构传递给 dbus 方法的工具?

    我创建了一个守护进程 该守护进程提供了一个 dbus 接口 其方法之一具有如下签名 uu 这是一个由两个组成的结构uint32 fields 是否有一个现成的工具可供我调用该方法并传入结构 dbus send and d feet似乎没有帮
  • 接受多个输入(如 +、- 和数字平方)的计算器。从文本文件中提取信息

    我的代码应该能够在一个文本文件中打印多个不同的方程 导致方程停止并转到下一行的字符 并且 字符取数字的平方 然而 该代码只打印一个方程然后停止 有人告诉我 我需要在已经建立的循环上再循环一次 但我不知道该怎么做 谢谢 INPUT 5 5 4
  • 非类型化 npm 模块的 TypeScript 自定义声明文件

    我正在使用一个名为的 React 组件shiitake https github com bsidelinger912 shiitake从 npm 到我使用 TypeScript 的项目 该库没有 TypeScript 声明 所以我想我应该
  • 有没有更快的方法来检查这是否是有效日期?

    有没有更快的方法来简单地捕获如下所示的异常 try date new DateTime model Date Year model Date Month 7 multiplier 7 dow 2 catch Exception This i
  • Android 从 java 类回调 Activity

    如何从 Java 类中回调 Activity Example public class TestClass String text Test public TestClass Context context startActivity ne
  • C 中哪些运算符的优先级错误?

    In the 介绍 K R C 2E 部分有这样一段 C 与任何其他语言一样 也有其缺陷 一些运算符的优先级错误 这些是哪些运营商 他们的优先顺序怎么错了 Is this https www lysator liu se c dmr on
  • Bash 脚本等待(如果已在运行),然后继续

    我有一个 bash 脚本 一旦进程完成 程序就会调用该脚本 我需要一种方法让 bash 脚本在其自身的另一个实例正在运行时等待退出 然后再继续 我不能只使用锁定文件并退出 因为该脚本不会按任何定期计划再次调用 我不能只使用锁定文件并退出 因
  • 使用转置表进行 Alpha-beta 剪枝,迭代深化

    我正在尝试实现通过换位表增强的 alpha beta 最小 最大修剪 我使用这个伪代码作为参考 http people csail mit edu plaat mtdf html abmem http people csail mit ed
  • NSTableView 上的圆角

    我有一个类似于的自定义视图子类NSBox绘制圆形框背景 问题是 如果我放置一个像NSTableView在盒子视图中 它不会夹到圆角 有没有什么方法可以把角变圆NSTableView及其父滚动视图 我还没有尝试过使用表视图 但尝试过使用其他控
  • 无法从 ASP.NET Core 2.0 中的 IdentityUser 和 IdentityRole 继承

    我正在尝试完成对 NET Core 2 0 的更新 但弹出一些错误 问题 我有两个类 ApplicationRole 和 ApplicationUser 它们从 IdentityRole 和 IdentityUser 继承一些属性 更新到
  • 使用Python进行3D绘图

    我正在尝试用 python 绘制曲面 我有一个包含 N N 值的表 我创建了两个向量 X 和 Y 每个向量都有 N 个元素 当我尝试绘制此图时 出现错误 ValueError total size of new array must be
  • 为什么打字稿不能在这里推断类型参数“T”的“T[key of T]”类型?

    我正在尝试编写一个传递密钥的通用类key对应于构造时一组已知接口之一的键 并且稍后可以传递对象thing和类型安全的访问thing key 这就是我所拥有的 interface AB a string b number interface
  • 为什么 CLLocationManager 委托在 iPhone SDK 4.0 中没有被调用?

    这是我的 AppDelegate 类中的代码 BOOL application UIApplication application didFinishLaunchingWithOptions NSDictionary launchOptio
  • 集成 Liferay 和 Alfresco

    我使用 Liferay 版本 5 2 3 和 Alfresco Community Edition 我想将 Alfresco 与 Liferay 集成 我想将 Alfresco 显示为 Liferay 中的一个 portlet 有人可以告诉
  • Visual Studio 升级建议 2008 / 2010 [已关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 使用 Java 10 时忽略 Jaxb 包信息

    我正在努力解决这个问题 任何信息将不胜感激 我有一个项目 它已经使用 JAXB 一段时间来从 XML 架构构建 Java 模型并使用该模型 现在它已经在 J ava 8 中运行了一些 但是 我已经升级到 Open JDK 10 当我尝试将
  • Scriptaculous / Prototype 模态窗口

    我想使用原型和 scriptaculous 制作一个模式窗口 我想知道是否有任何网站有教程 或者是否有人可以给我一些想法从哪里开始 我不需要预建的 除了 Control Window 之外 我还发现了其他一些 http okonet ru
  • 使用什么来代替 document.write 或 InnerHTML?

    假设我有这样的 html 代码