JavaScript驾驭网页-DOM

 更新时间:2016年03月24日 11:32:12   投稿:mrr  
这篇文章主要介绍了JavaScript驾驭网页-DOM的相关资料,需要的朋友可以参考下

一、DOM全称

文档对象模型(Document Object Model)

二、DOM是什么

DOM就是一个编程接口,就是一套API。
DOM是针对HTML文档、XML等文档的一套API。就类似于JDBC是针对数据库的一套API一样。

三、DOM的用途

DOM 是用来访问或操作HTML文档、XHTML文档、XML文档中的节点元素。

现在基本上所有的浏览器都都执行了W3C发布的DOM规范,所以在浏览器上就可以用DOM的这些API。

DOM提供对脚本友善的网页结构与内容的视图

DOM把网页视为节点构成的层次树

DOM树

每棵DOM树的最顶端节点都是Document,它在HTML节点的上层

网页是DOM节点的集合

见图1

这里写图片描述

节点类型

网页节点是按类别分类的,主要有元素节点与文本节点构成

见图2

这里写图片描述

节点特性

利用节点特性能用于导览节点树

以下是常用的节点特性:

nodeValue 存储于节点的值,只限于文本与属性节点使用(不含元素)

nodeType 节点类型,例如它是DOCUMENT或TEXT等等,但以代号表示

childNodes 包含节点下所有子节点的数组,以出现在HTML代码中的顺序而排列

firstChild 节点下的第一个子节点

lastChild 节点下的最后一个子节点

例子

document.getElementById(“id”).nodeValue;//获取某节点下的纯文本 
document.getElementsByTagName(“body”)[0].childNodes[1].lastChild;//body下的第二个子节点的最后一个节点

利用DOM改变元素的内容

首先 移除所有子节点

然后 根据新内容创建新的文本节点

最后 把新创建的文本子节点附加到节点下

这里涉及到三个方法

removeChidl()移除目标节点下的一个子节点,传入将被移除的子节点

createTextNode()从文本字符串创建文本节点

appendChildO()以最后一个子节点的开工加入新节点,传入将被新增加的子节点

var node=document.getElementById(“id”);//获取元素 
while (node.firstChild)//删除元素下的所有子节点(这里判断子节点是否存在,存在为true) 
node.removeChild(node.firstChild) 
node.appendChild(document.createTextNode(“message”))//为元素添加新内容

总结

innerHTML虽并非万维网的标准,但这个特性能访问元素内存储的所有内容

Document Object Model(文档对象模型),简称DOM,提供访问和修改网页数据的标准化机制

DOM视图页为关联节点的层次树

使用DOM(而非innerHTML)改变网页内容的方案,需移除元素下所有的子节点,然后创建并附加上包含新内容的新子节点。

关于JavaScript驾驭网页-DOM就给大家介绍到这里,下篇将给大家介绍JavaScript驾驭网页-CSS与DOM,感兴趣的朋友点击查看详情!

相关文章

  • uniapp禁止遮罩层下页面滚动的解决方法

    uniapp禁止遮罩层下页面滚动的解决方法

    在uniapp的开发中用过弹窗的都知道有个bug就是滑动弹窗的内容底部页面也会跟着滑动,所以这篇文章主要给大家介绍了关于uniapp禁止遮罩层下页面滚动的解决方法,需要的朋友可以参考下
    2023-09-09
  • 详解实现一个通用的“划词高亮”在线笔记功能

    详解实现一个通用的“划词高亮”在线笔记功能

    这篇文章主要介绍了实现一个通用的“划词高亮”在线笔记文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • 基于JS实现类似支付宝支付密码输入框

    基于JS实现类似支付宝支付密码输入框

    这篇文章主要介绍了基于JS实现类似支付宝支付密码输入框功能,密码框只准输入数字且只可以输入6位数字,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-09-09
  • JavaScript 弹出窗体点击按钮返回选择数据的实现

    JavaScript 弹出窗体点击按钮返回选择数据的实现

    这两天一直想实现这个,以前做做个Demo,但是不知道跑哪去了。于是今天在网上找了些资料再自己动手搞定。废话不多说。直接进入主题啦。
    2010-04-04
  • 聊一聊JS中的prototype

    聊一聊JS中的prototype

    function定义的对象有一个prototype属性,prototype属性又指向了一个prototype对象,注意prototype属性与prototype对象是两个不同的东西,要注意区别.这篇文章主要介绍了JS中的prototype的相关资料,需要的朋友可以参考下
    2016-09-09
  • javascript设计模式之Adapter模式【适配器模式】实现方法示例

    javascript设计模式之Adapter模式【适配器模式】实现方法示例

    这篇文章主要介绍了javascript设计模式之Adapter模式,结合实例形式分析了JS适配器模式的原理与具体实现方法,具有一定参考借鉴价值,需要的朋友可以参考下
    2017-01-01
  • js实现延迟加载的几种方法

    js实现延迟加载的几种方法

    本篇文章主要介绍了js实现延迟加载的几种方法,js的延迟加载有助与提高页面的加载速度,主要介绍了3种方法,有兴趣的可以了解一下
    2017-04-04
  • js实现购物车功能

    js实现购物车功能

    这篇文章主要为大家详细介绍了js实现购物车功能的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06
  • 屏蔽网页右键复制和ctrl+c复制的js代码

    屏蔽网页右键复制和ctrl+c复制的js代码

    解决的方法就是直接把网页保存下来然后删掉下面这段js代码,然后就可以正常用右键菜单,也可以通过设置浏览器的安全级别到最高级别来解决问题
    2013-01-01
  • js实现指定红包顺序和金额算法

    js实现指定红包顺序和金额算法

    这篇文章主要为大家详细介绍了js实现指定红包顺序和金额算法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-04-04

最新评论