HTML DOM初探

HTML DOM(Document Object Model)就是HTML文档对象模型。大致就是用来描述HTML文档的结构,下面的图来自w3cschool。

粗略地理解一下,就是文档的HTML元素是根节点,如果<head><title></title></head>那title就是head的子元素。

1. 先了解一下如何得到元素对象。

getElementById() —— 通过ID来获取元素

getElementsByTagName() —— 通过Tag来获取元素

getElementsByClassName() —— 通过Class来获取元素

做个测试:

<html>
    <head>
        <title>Testing Page</title>
    </head>
    <body>
        This is a page for testing!
        <p id="p1">This is a paragraph.</p>
    </body>
</html>

先试了id,效果良好。

document.getElementById("p1").style.color = "red";

但是这个得到的元素到底是个什么东西呢?

console.log(typeof(p));for (var i in p) {
    console.log(i+‘:‘+p[i]);
}

得到如下结果,得到的元素是个Object,成员都是<p>的各项属性。

2. 元素节点和文档节点、属性节点间的关系

<div id="p1" style="color: red">
    This is a paragraph.
    <p>This is a inner paragraph.</p>
    This is a second paragraph.
</div>

使用e.childNodes可以获取子节点的列表

可以看出有三个子元素,两个文本节点一个元素节点。

可以用e.getAttributeNode(属性名)来获得对应属性的Attr对象。

3. 每个元素的各项属性

innerHTML

  • 元素节点的innerHTML为标签内的所有东西
  • 文本节点的innerHTML为undefined

nodeName

  • 元素节点的 nodeName 与标签名相同
  • 属性节点的 nodeName 与属性名相同
  • 文本节点的 nodeName 始终是 #text
  • 文档节点的 nodeName 始终是 #document

nodeValue

  • 元素节点的 nodeValue 是 undefined 或 null
  • 文本节点的 nodeValue 是文本本身
  • 属性节点的 nodeValue 是属性值
时间: 2024-09-28 19:05:57

HTML DOM初探的相关文章

JavaScritpt的DOM初探之Node(一)

DOM(文档对象模型)是针对HTML和XML文档的一个API.DOM描绘了一个层次化的节点树,允许开发人员添加,移除和修改页面的某一部分.DOM脱胎于微软公司的DHTLM(动态HTML),但是现在它已经成为表现和操作页面标记的真正跨平台,语言中立的方式. JavaScript和DOM通常被视为一个单一的实体,因为JavaScript是最常见的用于此目的(与web上的内容交互). 使用DOM API访问.遍历和操作HTML和XML文档. 典型的DOM的基本轮廓层次结构(简化) 这里有一个关于DOM

day15 CSS JS DOM初探

居中  line-hight  是上下 text-line  是左右 实现一个返回顶部的功能: 1 先写好CSS 2 写动作JS 写一个悬浮菜单: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> .pg-header{ margin: 0 auto;

JavaScript初探系列——DOM

DOM(文档对象模型)是针对HTML和XML文档的一个API,描绘了一个层次化的节点树,允许开发人员添加.删除和修改页面的某一部分. HTML DOM 树形结构如下: 一.Node方面 (一).节点类型 节点类型(nodeName) 数值常量(nodeValue) 元素节点 1 属性节点 2 文本节点 3 注释节点 8 文档节点 9 文档碎片节点 11 确定节点类型,兼容的方法是将nodeType属性与数字值进行比较,如下所示: if(someNode.nodeType==1){ alert("

初探html5---Video + DOM(视频播放)

1:HTML5 开发环境下  lang="en" 2: <video width="320" height="240" controls="controls"> 其中 controls="controls" controls 属性供添加播放.暂停和音量控件. <div style="text-align:center"> <button onclick=&q

重新认识HTML,CSS,Javascript 之node-webkit 初探

今天我们来系统的.全面的 了解一下前端的一些技术,将有助于我们写出 更优秀的 产品 出来. 什么是HTML? HTML 是用来描述网页的一种语言. HTML 包含一些根节点,子节点,文本节点,属性节点,组成, 它通过一系列预定义标签来描述网页结构,如: <title>This is title</title> ,这个表明该网页的标题是 This is title. 什么是CSS? CSS 指层叠样式表 (Cascading Style Sheets),它描述浏览器显示如何显示htm

Unity3D游戏开发初探—2.初步了解3D模型基础

一.什么是3D模型? 1.1 3D模型概述 简而言之,3D模型就是三维的.立体的模型,D是英文Dimensions的缩写. 3D模型也可以说是用3Ds MAX建造的立体模型,包括各种建筑.人物.植被.机械等等,比如一个大楼的3D模型图.3D模型也包括玩具和电脑模型领域. 互联网的形态一直以来都是2D模式的,但是随着3D技术的不断进步,在未来的时间里,将会有越来越多的互联网应用以3D的方式呈现给用户,包括网络视讯.电子阅读.网络游戏.虚拟社区.电子商务.远程教育等等.甚至对于旅游业,3D互联网也能

[深入剖析React Native]React 初探

认识React React是一个用于构建用户界面的JavaScript库. React主要用于构建UI,很多人认为React是MVC中的V,即视图. React起源于Facebook的内部项目,用来架设Instagram的网站,并于2013年5月开源. React拥有较高的性能,代码逻辑非常简单,越来越多的人已开始关注和实用它. React特点 声明式设计 - React**采用声明范式**,可以轻松描述应用. 高效 - React通过对DOM的模拟,最大限度地减少与DOM的交互. 灵活 - R

初探JavaScript(二)——JS如何动态操控HTML

除去五一三天,我已经和<JavaScript Dom编程艺术>磨合了六天,第一印象很好.慢慢的,我发现这是一块排骨,除了肉还有骨头.遇到不解的地方就会多看几遍,实在不懂的先跳过,毕竟,初次接触JS,没有必要花费过多时间去钻死胡同,先混个脸熟,以后再来拜访也未尝不可嘛.就这样,踉踉跄跄.囫囵吞枣似的已经过五关斩六将,到达第十一章. 书中有几个章节并没有从语法.技术等层面介绍JavaScript,而是站在一个全局的角度,立足编程原则和习惯道破了我们该如何看待和使用这门语言,主要有以下几点: Jav

JQuery之初探

软考过后又进入了紧张的B/S学习阶段,由于自己的进度比较慢,所以更要加进学习.现在就来总结下JQuery的一些基础知识: JQuery定义 jQuery是一套跨浏览器的JavaScript库,简化HTML与JavaScript之间的操作.其宗旨是--WRITE LESS,DO MORE,写更少的代码,做更多的事情. JQuery特点 1.以强大的CSS选择器为基础,几乎所有的操作都先使用选择器查找DOM对象,然后对其进行各种操作. 2.屏蔽浏览器差异,对DOM的操作提供了方便的扩展,易用的事件处