第五章 网页交互——文本对象模型【Document object model】

1 简单介绍DOM,dom是将html与javascript进行交互的工具。

【使用innerHTML时注意:html中的内容是按照HTML本身的先后顺序加载的。故js对应代码应置于html之后】

问题:

  *document.getElementById时,id不存在返回null,存在返回对应字符串;

  *planet.innerHTML其中innerHTML属性可以修改字符串的内容;

  *getElementsByClassName可以返回类名的元素集合;

  *getElementsByTagName返回与指定标签名匹配的元素;

  *innerHTML甚至可以替换整个body的内容;

2 介绍window.onload=函数名;

回调函数,在网页加载完毕后再回调onload指向的指定函数。

3 关于元素的修改

(1)添加新元素

 <!DOCTYPE html>

 <html>

 <body>

 <div id="div1">

 <p id="p1">这是一个段落。</p>

 <p id="p2">这是另一个段落。</p>

 </div>

 <script>

 var para=document.createElement("p");//创建标签元素

 var node=document.createTextNode("这是新段落。");//创建文本

 para.appendChild(node);//为p添加文本

 //为div1添加元素

 var element=document.getElementById("div1");

 element.appendChild(para);

 </script>

 </body>

 </html>

(2)修改元素

 var planet=document.getElementById("p2");//获取DOM指定ID的元素

 planet.innerHTML="Red Alert:hit by phaser fire!";//使用innerHtml属性修改内容

(3)删除元素

 <!DOCTYPE html>

 <html>

 <body>

 <div id="div1">

 <p id="p1">这是一个段落。</p>

 <p id="p2">这是另一个段落。</p>

 </div>

 <script>

 var parent=document.getElementById("div1");//获取父元素

 var child=document.getElementById("p1");//获取子元素

 parent.removeChild(child);//删除

 </script>

 </body>

 </html>

4 特性

(1)设置setAttribute();

例如:

planet.setAttribute("class","redtext");//为planet添加一个class名为redtext

(2)获取特性getAttribute();

例如:

var alttext=scoop.getAttribute("alt");//其中scoop类似于planet,alt为获取其值的特性的名称??

5 完整例子

 <!doctype html>

 <html lang="en">

 <head>

 <title>My blog</title>

 <meta charset="utf-8">

 <style type="text/css">

 .redtext{

 color:red;

 }

 </style>

 <script language="JavaScript" type="text/JavaScript">

 function inni(){

 var planet=document.getElementById("p2");//获取DOM指定ID的元素

 planet.innerHTML="Red Alert:hit by phaser fire!";//使用innerHtml属性修改内容

 planet.setAttribute("class","redtext");//设置特性

 var attribute=planet.getAttribute("text");//获取特性,返回为null,不太清楚什么是特性?

 console.log("I'm not see the image in the console,but I'm told it looks like:"+attribute);

 }

 window.onload=inni;

 </script>

 </head>

 <body>

 <h1>My blog</h1>

 <div id="entry1">

 <h2>Great day bird watching</h2>

 <p id="p1">

 Today I saw three ducks!<br />

 I named them <br />

 Huey,Louie,and Dewey.

 </p>

 <p id="p2">

 I took a couple of photos...

 </p>

 </div>

 </body>
70 </html>

JavaScript学习笔记(四)——DOM的更多相关文章

  1. javascript学习笔记(四) Number 数字类型

    数字格式化方法toFixed().toExponential().toPrecision(),三个方法都四舍五入 toFixed() 方法指定小数位个数  toExponential() 方法 用科学 ...

  2. Javascript学习笔记四——操作表单

    Javascript学习笔记 大多网页比如腾讯,百度云之类的需要登陆,用户输入账号密码就可以登陆,那么浏览器是如何获取用户的输入的呢?今天就记录一下操作表单. 操作表单与操作DOM是差不多的,表单本身 ...

  3. javascript学习笔记之DOM与表单

    DOM(文档对象模型),猫叔了一个层次化的节点树 一.DOM NODE相关公共属性与方法 DOM中所有节点都实现了NODE接口,该接口的公共属性和方法如下: 1.节点基本属性 1)NodeType 节 ...

  4. JavaScript学习笔记之DOM介绍

    目录 1.简介 2.方法 3.属性 4.访问节点 5.修改节点 6.添加节点 7.删除节点 8.替换节点 9.改变 CSS 1.简介 文档对象模型(Document Object Model,DOM) ...

  5. javascript学习笔记之DOM

    DOM(文档对象模型),描述了一个层次化的节点树 一.DOM NODE相关公共属性与方法 DOM中所有节点都实现了NODE接口,该接口的公共属性和方法如下: 1.节点基本属性 1)NodeType 节 ...

  6. JavaScript学习笔记(四)——jQuery插件开发与发布

    jQuery插件就是以jQuery库为基础衍生出来的库,jQuery插件的好处是封装功能,提高了代码的复用性,加快了开发速度,现在网络上开源的jQuery插件非常多,随着版本的不停迭代越来越稳定好用, ...

  7. JavaScript 学习笔记-HTML&&DOM

    HTML DOM (文档对象模型) 当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model). HTML DOM 模型被构造为对象的树. JavaScript 能够 ...

  8. JavaScript学习笔记(四十四) 装饰器

    装饰器模式(Decorator) 在装饰器模式中,可以在运行时给一个对象动态的添加额外的功能.当和静态类打交道的时候(static classes),这可能是一个挑战.但在JavaScript中,对象 ...

  9. JavaScript学习笔记之DOM对象

    目录 1.Document 2.Element 3.Attribute 4.Event 1.Document 每个载入浏览器的 HTML 文档都会成为 Document 对象,Document 对象允 ...

  10. Javascript学习笔记三——操作DOM(二)

    Javascript学习笔记 在我的上一个博客讲了对于DOM的基本操作内容,这篇继续巩固一下对于DOM的更新,插入和删除的操作. 对于HTML解析的DOM树来说,我们肯定会时不时对其进行一些更改,在原 ...

随机推荐

  1. HDU 1058(打表)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1058 Humble Numbers Time Limit: 2000/1000 MS (Java/O ...

  2. System.Reflection 获取描述

    我们需要获取类,属性,方法的描述.这个跟获取枚举的描述一样,需要我们通过反射来做.这还需要我们的利用System.ComponentModel:Description  的属性来完成. 新建一个类:使 ...

  3. Redmine使用学习

    注:陈刚在公司架设了 Redmine xx公司产品档案管理系统,并且与tortoisegit集成了在一起:真心不错!比如git:192.168.10.46,而redmine:192.168.10.46 ...

  4. 混乱的 Java 日志体系

    混乱的 Java 日志体系 2016/09/10 | 分类: 基础技术 | 0 条评论 | 标签: LOG 分享到: 原文出处: xirong 一.困扰的疑惑 目前的日志框架有 jdk 自带的 log ...

  5. Web开发生存工具使用指南

    这里安利两款我认为开发中能够极大的提高生产力的工具,Charles 和 Postman. P.S. Charles(查尔斯)..不要再读查理斯了,金刚狼中被老铁扎心的博士就叫 CharlesP.P.S ...

  6. code#5 P1 报告

    报告   时间限制: 1.0 秒 空间限制: 128 MB 相关文件: 题目目录 题目描述 企鹅高中有很多学生,自然管理起来也就非常麻烦.学校的教务处想要随时统计学校里面有多少个学生,但是他们只有很多 ...

  7. MySQL+Service+Servlet+Jsp实现Table表格分页展示数据

    下面以一个示例讲解如何使用MySQL+Service+Servlet+Jsp实现Table表格分页展示数据: eg:请假管理系统 要求如下: 一.打开首页页面, 访问查询请假记录的 servlet , ...

  8. Windows 安装Redis程序

    一.系统环境 1.硬件系统:Windows7 64位 2.软件环境: Redis 64位 3.2.100.Redis Desktop Manager. 二.Redis安装 下载地址:https://g ...

  9. Windows8系统下设置Mongodb开机启动

    1. 官网下载安装 MongoDB https://www.mongodb.com/ 2. 环境变量设置 把 mongod.exe 所在路径加入到环境变量的PATH, 我这里安装的路径是 D:\db\ ...

  10. 记一次学习PHP中的错误

    今天学习PHP时,回想起一段代码 <?php> $i = true; $o = true; $p = false; if($i or $o and $p){ echo '输出为'.'tru ...