博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
文档对象模型(DOM)系列一:DOM基础
阅读量:4669 次
发布时间:2019-06-09

本文共 2573 字,大约阅读时间需要 8 分钟。

前言:

  通过javascript可以重构整个HTML文档,可以添加、移除、改变、或重排页面上的项目。要改变页面上的某个部分,javascript就需要对HTML文档中所有元素设置进行访问的接口。通过这个接口,可以提供对HTML元素进行添加、移动、改变、或移除的方法和属性,这些都是由文档对象模型(DOM)来实现。简单点说,HTML文档代表的是页面,而DOM则代表了如何去操作页面。

1、DOM树的结构

  DOM节点树中的节点有元素节点、文本节点、和属性节点等三种不同的类型。

2、document对象

  document对象代表一个浏览器窗口或框架中显示的HTML文件。浏览器在加载HTML文档时,为每个HTML文档创建document对象,document对象是window对象的一个属性。document对象有大量的属性和方法。

最常用的函数如下:

document.write():动态的向页面写入内容。

document.createElement(Tag):创建一个html标签对象。

document.getElementById(ID):获得指定ID值的对象。

document.getElementByName(Name):获取指定name值的对象。

Example a :

var mainContent = document.getElementById("main");    //alert(mainContent);    mainContent.style.backgroundColor = "#FF0000";    var paragraphs = document.getElementsByTagName("p");        for (var i = 0; i < paragraphs.length;i++)    {        paragraphs[i].style.fontSize = "2em";    }    var elements = document.getElementsByTagName("body")[0].childNodes;        for (var i = 0; i < elements.length;i++)    {                  alert(elements[i].nodeType);           }

HTML文档:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="default.aspx.cs" Inherits="UI._default" %>
DOM

Welcom to my web sit

We sell all the widgets you need

注:childNodes属性返回节点的子节点集合,以Nodelist对象(换行为文本节点)。

 

Document对象还有下面几个比较常用的方法和属性:

open():打开一个流,以收集来自任何document.write()或document.writeln()的方法的输出。

close():关闭document.open打开的输出流,并显示选定的数据。

write():向文档写HTML代码或javascript代码。

writeln():等同于write()方法,不同的是在每个表达式之后写一个换行符。

title:该属性可以引用和设置页面中title标记的内容。

Example b:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="default.aspx.cs" Inherits="UI._default" %>
DOM 输入你的姓名:

3、获取DOM中的元素

  DOM中定义了多个获取元素节点的方法,如getElementById()、getElementsByName()和getElementsbyTagName()。如果需要获取文档中某一特定的元素节点,最有效的方法是getElementById()。

3.1、getElementById():该方法是通过元素节点的ID来准确的获取元素节点。

Example:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="default.aspx.cs" Inherits="UI._default" %>
DOM

这是标题

点击标题,会提示出它的值

3.2 getElementsByName():根据Name属性来获取元素节点,得到的是一个元素节点数组。

example:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="default.aspx.cs" Inherits="UI._default" %>
DOM

注:getElementById()能够与GetElementsByName()结合起来用:document.getElementById("a").GetElementsByName("b")意思就是获取Id为a元素节点的子节点中Name属性为b的所有元素节点,以数组的形式表示。

3.3 getElementsByTagName():通过元素的标签名获取节点,同样该方法返回的也是一个数组。

 

  

  

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  

 

 

转载于:https://www.cnblogs.com/YanYongSong/p/4636278.html

你可能感兴趣的文章
Qt QDataTime QString 两个类的使用
查看>>
iOS 自带二维码扫描功能的实现
查看>>
数据库正确建立索引以及最左前缀原则
查看>>
数据库操作
查看>>
程序化交易
查看>>
AI前导课-第一课AI概览(2018/10/20)
查看>>
十 全局结果页面的配置
查看>>
三、引
查看>>
centos 使用rz sz指令
查看>>
python正则表达式之re模块方法介绍
查看>>
第三周例行报告
查看>>
传统网站与Web标准——表格布局实例
查看>>
[论文笔记]2014ICPR--Deep Metric Learning for Person Re-Identification
查看>>
谜题27:变幻莫测的i值
查看>>
HTML5画布(矩形)
查看>>
C#生成缩略图
查看>>
[暑假集训--数论]hdu2136 Largest prime factor
查看>>
cf486A Calculating Function
查看>>
vue 组件中的钩子函数 不能直接写this
查看>>
linux驱动开发框架
查看>>