首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

document.write()vs插入DOM节点:保留表单信息?

在网页开发中,document.write() 和 插入 DOM 节点 是两种常见的方法来动态地插入 HTML 内容。这两种方法各有优缺点,下面将对它们进行比较,以帮助您更好地选择适合您的场景的方法。

document.write()

document.write() 是一种简单的方法,可以在 HTML 文档中动态地生成内容。它的优点是使用简单,易于理解。然而,它也有一些缺点,例如:

  1. 如果在文档已经加载完成后调用 document.write(),浏览器会重新加载整个文档,这会导致性能问题。
  2. 它不允许您对已插入的内容进行操作,因为它不是 DOM 节点。
  3. 它不兼容 XHTML 文档。

插入 DOM 节点

插入 DOM 节点是另一种方法,可以在 HTML 文档中动态地插入内容。它的优点是可以让您更灵活地操作已插入的内容,例如:

  1. 您可以使用 JavaScript 对 DOM 节点进行任何操作,例如修改、删除或添加新的节点。
  2. 插入 DOM 节点的性能更高,因为它不会导致整个文档的重新加载。
  3. 插入 DOM 节点兼容所有类型的 HTML 文档。

保留表单信息是指在用户提交表单后,需要保留用户输入的数据,以便在页面刷新或重新加载时仍然可以使用这些数据。这可以通过将用户输入的数据存储在浏览器的本地存储中来实现,例如使用 localStoragesessionStorage

综上所述,如果您需要保留表单信息,并且希望能够更灵活地操作已插入的内容,那么插入 DOM 节点可能是更好的选择。然而,如果您只需要简单地插入 HTML 内容,并且不需要保留表单信息,那么 document.write() 可能是更简单的选择。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

新手如何在 ES6 如何操作HTML DOM元素?

我们这里只讨论表单表单DOM 层次结构继续向下包含表单的各个元素 DOM 类别: JavaScript 支持三种 DOM 类型,但我们仅讨论适用于 ES6 的类型。...**Legacy DOM:**这是早期版本的 JavaScript 使用的模型。该模型提供只读属性,例如标题、URL 等。它还提供有关整个文档的 LastModified 信息。...document.fgColor forms[]: 它是表单对象的数组,每个对象对应一个表单对象,如表单中所示。...document.implementation W3C DOM 中的文档方法: createAttribute(name_of_attr): 返回一个新创建的具有指定名称的 Attr 节点。...document.getElementsByTagName(tagname) importNode(importedNode, deep): 从适合插入到此文档中的其他文档创建并返回节点的副本。

30820

前端温习(二): Javascriput 核心对象 Document 对象

在 HTML DOM (Document Object Model) 中 , 每一个元素都是 节点: 文档是一个文档节点 所有的 HTML 元素都是元素节点 所有 HTML 属性都是属性节点 文本插入到...DocumentFragment 对象是一个存在于内存的 DOM 片段,但是不属于当前文档,常常用来生成较复杂的 DOM 结构,然后插入当前文档。...,从其原来所在的文档移除,插入当前文档,并返回插入后的新节点。...它的第一个参数是外部节点,第二个参数是一个布尔值,表示对外部节点是深拷贝还是浅拷贝,默认是浅拷贝(false)。虽然第二个参数是可选的,但是建议总是保留这个参数,并设为true。...下一步还必须将这个节点插入当前文档的 DOM 树。

76220
  • JavaScript 笔记

    document.write( "屏幕可用高度:"+screen.availHeight+"px" );         参考了解其他属性信息获取方式            ...节点:根据 DOM,HTML 文档中的每个成分都是一个节点。       ...() 方法          >通过使用一个元素节点的 parentNode、firstChild 以及 lastChild childNodes属性      节点信息       每个节点都拥有包含着关于节点某些信息的属性...根据 DOM,HTML 文档中的每个成分都是一个节点。         DOM 是这样规定的:             1. 整个文档是一个文档节点(根节点)              2....hasChildNodes() 判断当前节点是否拥有子节点。              insertBefore()  在指定的子节点插入新的子节点。         f.

    1.8K60

    Web APIs第三天

    DOM节点操作 重绘与回流 1. DOM节点 DOM节点: DOM树里每一个内容都称之为节点 1....创建节点 即创造出一个新的网页元素,再添加到网页内,一般先创建节点,然后插入节点 let num2 = document.createElement('li') num2.innerHTML = '我是创建新节点...追加节点 要想在界面看到, 还得插入到某个父元素中 1....删除节点 若一个节点在页面中已不需要时,可以删除它 在 JavaScript 原生DOM操作中,要删除元素必须通过父元素删除 如不存在父子关系则删除不成功 删除节点和隐藏节点(display:none)...,生成渲染树(Render Tree) 进行布局 Layout(回流/重排):根据生成的渲染树,得到节点的几何信息(位置,大小) 进行绘制 Painting(重绘): 根据计算和获取的信息进行整个页面的绘制

    57850

    JavaScript笔记(15)

    三种动态创建元素区别 document.write( ) element.innerHTML document.createElement( ) document.write是直接将内容写入页面的内容流...,但是文档流执行完毕,则他会导致页面全部重绘 innerHTML是将内容写入某个DOM节点,不会导致页面全部重绘 innerHTML创建多个元素效率更高(不要拼接字符串,采取数组形式拼接),结构稍微复杂...child,指定元素) 删 node.removeChild(child) 改 主要修改DOM的元素属性,DOM元素的内容,属性,表单的值等 修改元素属性: src / href / title等...修改普通元素内容: innerHTML / innerText 修改表单元素: value / type / disable等 修改元素样式: style / className 查 主要获取DOM...提倡 利用节点操作获取元素: 父(parentNode), 子(children),兄(previousElementSibling, nextELementSibling) 提倡 属性操作 主要针对于自定义属性

    35310

    系统学习javaweb-06-javascript

    方式2:var 变量 = 数字; // 十进制 常用方法 toString() 把数字转换成指定进制形式的字符串,默认十进制 toFixed() 指定保留小数位(...onblur 对象失去输入焦点 onfocus 对象获得焦点 其他: onchange 对象或选中区的内容改变 onload 浏览器完成对象的装载 onsubmit 表单将被提交...""); 16 DOM文档对象模型 html页面被浏览器加载时,浏览器会对整个html页面上所有标签创建对应的对象进行描述,用户看到的信息是这些html对象的属性信息。...inputNode.previousSibling.nodeName); 18 节点创建、插入、删除 创建字节入插入节点、设置节点的属性。...(inputNode); 插入目标元素的位置 elt.insertBefore(newNode, oldNode); 添加到elt中,child之前,elt必须是oldNode的直接父节点

    1K10

    DOM的核心总结

    1、创建元素的三种方式 document.write () element.innerHTML document.createElement () 区别 document.write...直接将内容写入页面的内容流,但是文档流执行完毕,则它会导致页面全部重绘 innerHTML 是将内容写入某个DOM节点,不会导致页面全部重绘 innerHTML 创建多个元素效率更高(不要拼接字符串...W3C已经定义了一系列的DOM接口,通过这些DOM接口可以改变网页的内容、结构和样式。 ? 关于dom操作,我们主要针对于元素的操作。主要有创建、增、删、改、查、属性操作、事件操作。 3.1....改 主要修改dom的元素属性,dom元素的内容、属性, 表单的值等 修改元素属性: src、 href、title等 修改普通元素内容: innerHTML、 innerText 修改表单元素...、 querySelectorAll 提倡 利用节点操作获取元素:父(parentNode)、 子(children)、 兄(previousElementSibling、 nextElementSibling

    37630

    javaScript基础最全 最精美 不好打我好吧

    console.log() 写⼊到浏览器的控制台 2 变量 由字⺟、数字、下划线、$符号组成, (name也不可以 系统中有name这个变量为"") 不能以数字开头 不能是关键字和保留字,例如...DOM DOM:文档对象模型(Document Object Model),又称为文档树模型 节点 在HTML当中一切都是节点(node)。 每一个HMTL标签都是一个元素节点(标签)。...---- 创建节点 常用: document.createElement("标签名"); 插入节点 使用方法: 父节点.appendChild(); 父节点.appendChild(...新节点); 父节点的最后插入一个新节点 使用方法:父节点.insertBefore(要插入节点,参考节点); 父节点.insertBefore(新节点,参考节点)在参考节点插入;...如果参考节点为null,那么将在节点最后插入一个节点

    1.3K30

    一文解读JavaScript中的文档对象(DOM

    1.文档对象(DOM) 1).Document对象 这是我们用的最普遍的一个文档对象了,专门用来操作DOM节点时用。...文档的编码(字符集) document.readyState #文档的(加载)状态 document.strictErrorChecking #是否强制执行错误检查 3)).文档写入 document.write...childNodes #获取子节点的集合 ,返回数组 ,并把换行和空格也当成是节点信息。...#获取第一个子节点 lastChild #获取最后一个子节点 并把换行和空格也当成是节点信息 lastElementChild #获取最后一个子节点 parentNode...#a节点插入b节点的前面 8)).删除节点 removeChild(节点名) #被移除的节点仍在文档中,只是文档中已没有其位置了 9)).替换节点 replaceChild(插入节点,被替换的节点

    70320

    JavaScript学习总结(一)——ECMAScript、BOM、DOM(核心、浏览器对象模型与文档对象模型)

    >产品的次要信息"); document.write(navigator.productSub); document.write("操作系统的语言"); document.write...浏览器供应商次要信息 */ 四、DOM  DOM(文档对象模型)是针对HTML和XML文档的一个API,通过DOM可以去改变文档。 ?...9 Document 代表整个文档(DOM 树的根节点)。...insertBefore() 参照节点之前插入节点,两个参数:要插入节点和参照节点 insertAfter() 参照节点之后插入节点,两个参数:要插入节点和参照节点 replaceChild() 替换节点...,两个参数:要复制的节点和布尔值(是否复制子节点) insertAdjacentHTML() 插入文本,两个参数:插入的位置和要插入文本 "beforebegin",在该元素前插入 "afterbegin

    3.7K70

    DOM的核心总结

    W3C已经定义了一系列的DOM接口,通过这些DOM接口可以改变网页的内容、结构和样式。 ? 关于dom操作,我们主要针对于元素的操作。主要有创建、增、删、改、查、属性操作、事件操作。 1.1....创建 1. document.write 2. innerHTML 3. createElement 1.2. 增加 1. appendChild 2. insertBefore 1.3....改 主要修改dom的元素属性,dom元素的内容、属性,表单的值等 1.修改元素属性: src、 href、 title等 2.修改普通元素内容: innerHTML、 innerText 3.修改表单元素...利用节点操作获取元素:父(parentNode). 子(children)、 兄(previousElementSibling、 nextElementSibling)提倡 1.6....利用节点操作获取元素:父(parentNode). 子(children)、 兄(previousElementSibling、 nextElementSibling)提倡

    30331

    JavaScript——DOM重点核心

    我们获取过来的DOM元素是一个对象(object),所以称为文档对象模型。 关于DOM操作,我们主要针对元素的操作有创建、增、删、改、查、属性操作、事件操作。...创建 document.write innerHTML createElement 增 appendChild insertBefore 删 removeChild 改 主要修改dom的元素属性,dom...元素的内容、属性、表单的值等。...修改元素属性:src、href、title等 修改普通元素内容:innerHTML、innerText 修改表单元素:value、type、disabled等 修改元素样式:style、className...提倡使用 利用节点操作获取元素:父(parentNode)、子(children)、兄(previousElementSibling、nextElementSibling) 提倡使用 属性操作 主要针对于自定义属性

    34910
    领券