《JavaScript DOM 编程艺术(第2版)》读书笔记七: 动态创建标记

  • 如果文档中某些元素的存在只是为了让DOM方法处理它们,那么用DOM方法创建它们才是最合适的选择

  • 一些传统方法

    • document.write
      • document对象的write()方法可以方便快捷地把字符串插入到文档里。
      • 尽量避免使用
    • innerHTML属性
      • innerHTML属性无细节可言。要像获取细节,必须使用DOM方法和属性
      • 需要把一大段HTML内容插入网页时,innerHTML属性更适用。
      • innerHTML不会放回任何刚插入的内容的引用。如果想对刚插入的内容进行处理,则需要使用DOM方法和属性
    • document.write和innerHTML属性都是HTML专有属性,不能用于任何其他标记语言文档。浏览器在呈现正宗的XHTML文档(即MIME类型是application/xhtml+xml的XHTML文档)时会直接忽略掉document.write和innerHTML属性。
  • DOM方法

    • createElement: 创建元素节点,只是创建还没有插入到文档元素中,所以称为文档碎片(document fragment)
    • appendChild:
      • 把新创建的节点插入某个文档的节点树
      • 还可以用来连接那些尚未成为文档树一部分的节点
    • createTextNode: 创建文本节点
    • insertBefore: 把一个新元素插入到一个现有元素的前面。
      • 调用语法:parentElement.insertBefore(newElement, targetElement);
        • newElement: 新元素
        • targetElement:目标元素
        • parentElement:目标元素的父元素
      • 其实不必搞清楚父元素到底是哪个,因为targetElement元素的parentNode属性值就是它。
      • 在DOM 里,元素节点的父元素必须是另一个元素节点(属性节点和文本节点的子元素不允许是元素节点)
    • 在现有元素后面插入一个元素,DOM没有提供这个方法。需要自己编写insertAfter函数,使用到nextSibling属性是目标元素的下一个兄弟元素。
  • Ajax

    • 2005年,Adaptive Path 公司的Jesse James Garrett发明了Ajax这个词,用于概况异步加载页面内容的技术
    • 主要优势是对页面的请求以异步方式发送到服务器。而服务器不会用整个页面来响应请求,它会在后台处理请求,与此同时用户还能继续浏览页面并与页面交互。
    • XMLHttpRequest对象
      • Ajax技术的核心就是XMLHttpRequest对象
      • 这个对象充当着浏览器中的脚本(客户端)与服务器之间的中间人的角色。以往的请求是由浏览器发出,而JavaScript通过这个对象可以自己发送请求,同时也自己处理响应。
      • 最有用的是open方法。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容