document.write()

document对象的write方法可以很简单的向页面的源代码中添加内容,不过不推荐使用。

优点:可以快速简单的让初学者理解如何向页面添加内容;

缺点:

  • 只有页面初始化加载时有效
  • 如果在页面加载完之后使用该方法,则会碰到:
  1. 整个页面都被覆盖
  2. 不是向页面添加内容
  3. 创建了一个新页面
  • 在严格验证XHTML中可能会遇到问题

element.innerHTML()

innerHTML属性允许以字符串的方式,获取/更新任何元素中的整个内容。

优点:

  • 和DOM操作相比,可以使用更小代码添加大量新标签
  • 向页面中添加大量新元素时,速度比DOM操作更快
  • 当需要移除元素中的所有内容时,它更简单。

缺点:

  • 不应该用来添加来自用户输入的内容,可能会带来安全隐患
  • 在添加一个很大的DOM片段时,这个方法很难区分出每一个元素
  • 事件处理程序可能不像预期那样生效

DOM操作

DOM操作提供了一组方法和属性,用来访问、创建以及更新元素和文本节点。

优点:

  • 如果DOM片段拥有大量的兄弟节点,处理其中一个元素节点时使用这种方法更合适
  • 不会影响事件处理程序
  • 可以轻易的使用脚本来逐步添加元素

缺点:

  • 如果对页面内容进行大量修改,其速度比innerHTML属性更慢
  • 与使用innerHTML相比,它需要更多的代码来实现同样的功能

更新html技术比较的更多相关文章

  1. Hybrid App技术批量制作APP应用与跨平台解决方案

    前言 简单的聊一聊我开发了4年之久的Hybrid App(混合模式移动应用)平台开发,目前一直在持续开发与维护,支持无编程快速开发! 其本意也不是要吹捧前端有多么强大,只是用自己的实际项目阐述下对于前 ...

  2. iOS多线程技术方案

    iOS多线程技术方案 目录 一.多线程简介 1.多线程的由来 2.耗时操作的模拟试验 3.进程和线程 4.多线程的概念及原理 5.多线程的优缺点和一个Tip 6.主线程 7.技术方案 二.Pthrea ...

  3. Web---JSP注册技术的的演绎(3代)-JSP/EJB/Servlet/POJO/JavaBean

    我们可以这么理解JSP注册技术的发展过程: 第一代JSP技术:纯JSP开发. 第二代JSP技术:JSP+EJB开发. (EJB简单来说就是把已经编写好的程序(即:类)打包放在服务器上执行.) 第三代J ...

  4. 【腾讯Bugly干货分享】总结一个技术总监的教训和经验

    本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:http://mp.weixin.qq.com/s/Ry-G0Nikh6m-h3ZVC2cLyQ 导语 20 ...

  5. [Cocos2d-x]Lua 资源热更新

    什么是热更新 所谓的热更新,指的是客户端的更新. 大致的流程是,客户端在启动后访问更新的URL接口,根据更新接口的反馈,下载更新资源,然后使用新的资源启动客户端,或者直接使用新资源不重启客户端. 热更 ...

  6. APP热更新方案

    为什么要做热更新 当一个App发布之后,突然发现了一个严重bug需要进行紧急修复,这时候公司各方就会忙得焦头烂额:重新打包App.测试.向各个应用市场和渠道换包.提示用户升级.用户下载.覆盖安装. 重 ...

  7. 使用CodePush实时更新 React Native 和 Cordova 应用

    近期公司的React native App(云订货)用上CodePush实时更新App技术了.棒棒的 CodePush 是微软开发的.能够实时更新 React Native 和 Cordova 应用. ...

  8. Android Apk增量更新

    前言 有关APK更新的技术比较多,例如:增量更新.插件式开发.热修复.RN.静默安装. 下面简单介绍一下: 什么是增量更新?   增量更新就是原有app的基础上只更新发生变化的地方,其余保持原样. 与 ...

  9. ArcGIS最权威、最专业的技术分享网站:积思园(www.iarcgis.com)

    你对iArcGIS.com说点什么 为什么会有该网站的产生 在这个所谓的“大数据”的时代,每个人都深陷于海量信息无法自拔,因为过多碎片化的数据只会让自己的思维更加迷离,快餐式的阅读只会让自己变得虚胖. ...

随机推荐

  1. LinQ开篇介绍

    语言集成查询(LINQ)是 Visual Studio2008中引入的一组功能. 可为 C# 和 Visual Basic 语言语法提供强大的查询功能. LINQ引入了标准易学的数据查询和更新模式,能 ...

  2. Jmeter技巧

    Jmeter参数化的4种方法 用Jmeter测试时包含两种情况的参数,一种是在url中,一种是请求中需要发送的参数. URL中的参数,如:http://blog.da-fang.com/index.p ...

  3. 8148和8127中的ezsdk和dvrsdk

    http://www.dajudeng.com/d2012081009b8a9d5de87101f69f31952c.html

  4. Android oat文件提取转换

    说明: 1.手机厂商可以修改Android源码并进行编译后再生成oat格式文件在手机上存储,比如boot-okhttp.oat,boot-framework.oat. 2.自带的apk可以调用这些模块 ...

  5. python 时区

    Python中的时区处理  http://tech.glowing.com/cn/dealing-with-timezone-in-python/ Python时区设置方法与pytz查询时区教程_py ...

  6. python3 使用http.server模块 搭建一个简易的http服务器

    from http.server import HTTPServer, BaseHTTPRequestHandler import json data = {'result': 'this is a ...

  7. neo4j 张一鸣 8

    头条关注 粉丝关系 张一鸣 8

  8. java8-接口变化-默认方法-静态方法

    Java 8中允许接口中包含具有具体实现的方法,该方法称为 “默认方法”,默认方法使用 default 关键字修饰. default String getName(){ return "哈哈 ...

  9. 预载入和javascript对象

    请参见 http://www.west263.com/info/html/wangyezhizuo/Javascript/20080225/34168.html

  10. Android实战技巧之八:Ubuntu下切换JDK版本【转】

    本文转载自:http://blog.csdn.net/lincyang/article/details/42024565 Android L之后推荐使用JDK7编译程序,这是自然发展规律,就像是4年前 ...