Dom技术使得用户页面可以动态地变化,如可以动态地显示或隐藏一个元素,改变它们的属性,增加一个元素等,Dom技术使得页面的交互性大大地增强。[1]
DOM实际上是以面向对象方式描述的文档模型。DOM定义了表示和修改文档所需的对象、这些对象的行为和属性以及这些对象之间的关系。可以把DOM认为是页面上数据和结构的一个树形表示,不过页面当然可能并不是以这种树的方式具体实现。
通过 JavaScript,您可以重构整个 HTML 文档。您可以添加、移除、改变或重排页面上的项目。
要改变页面的某个东西,JavaScript 就需要获得对 HTML 文档中所有元素进行访问的入口。这个入口,连同对 HTML 元素进行添加、移动、改变或移除的方法和属性,都是通过文档对象模型来获得的(DOM)。

树木和树枝

HTML是一个类似XML的结构,因为元素形成了一个带有子节点的父节点的结构,就像树的分支一样。有一个根元素(html)中包含的分支headbody,每个都有自己的分支机构。因此,DOM也称为DOM树。

通过选择一个元素并改变某些元素来修改DOM是JavaScript中经常做的。要从JavaScript访问DOM,使用该document对象。它由浏览器提供,并允许页面上的代码与内容进行交互。

我们可以通过各种途径获取HTML元素,例如id、标签名、类名、css选择器等,

<!DOCTYPE html>
<html> <head>
<meta charset="UTF-8">
<title></title>
<style type="text/css"> /* css 选择器示例 */
.important { } #myHeader { } </style>
</head> <body>
<!-- id 示例 -->
<h1 id="myHeader">Hello World!</h1> <!-- 下面是 3 个 h2 标签 -->
<h2>HeaderOne</h1>
<h2>HeaderTwo</h2>
<h2>HeaderTree</h3> <!-- class 示例 -->
<p class="important">Note that this is an important paragraph.</p> <!-- JavaScript 代码 -->
<script type="text/javascript">
// 获取DOM元素
var myHeader = document.getElementById('myHeader'); // 单引号
var headers = document.getElementsByTagName('h2');
var importants = document.getElementsByClassName('important'); //返回一个DOM元素组成的Arrays
var myHeader2 = document.querySelector('#myHeader'); // 只返回一个元素
var importants2 = document.queryAll(.important); // 操作DOM元素 </script>
</body> </html>

然后通过JS代码来操作它们,实现动态网页。

内容来源:http://htmldog.com/guides/javascript/intermediate/thedom/

            

最新文章

  1. jQuery 学习笔记_01
  2. 安装Nvidia k80驱动步骤
  3. AX7: How to deploy a Package
  4. EasyUI——常见用法总结
  5. 二进制打印与逆序_C语言(转)
  6. windows phone主题切换(换肤)
  7. Ubuntu 截屏
  8. ARM Linux 如何--注册和触发--软中断
  9. Newton‘ method 的优缺点
  10. OS X 和iOS 中的多线程技术(上)
  11. PHP中的加强型接口Traits
  12. SD从零开始71 业务信息仓库(BW)
  13. js和JQuery区别
  14. canvas绘图实现浏览器等待效果
  15. 数据库连接池DBUtils使用
  16. 【Unity】JsonUtility解析集合(collections)类型(List)
  17. Unity3D中使用Profiler精确定位性能热点的优化技巧
  18. cocos2dx -- 学习笔记
  19. AS 代码模板 文件模板 Templates MD
  20. python中利用少量代码快速实现从类对象中抽取所需属性的一种实践

热门文章

  1. Java基础04 封装与接口(转载)
  2. YII安装步骤(windows)
  3. linq to sql 动态构建查询表达式树
  4. iOS 阿里百川SDK集成注意点
  5. POJ1365 Prime Land【质因数分解】【素数】【水题】
  6. 3、easyUI-创建 CRUD可创建展开行明细编辑dataGrid(表格)
  7. sublime text3 安装配置
  8. Oracle raw数据类型
  9. hoj 2715 (费用流 拆点)
  10. UVALive 5873 (几何+思维)