第五章 网页交互——文本对象模型【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. 字符型设备驱动程序-first-printf以及点亮LED灯(一)

    学习使用 Linux 的  字符型设备驱动 来 进行 . 学习地址:http://edu.51cto.com/lesson/id-25710.html 第一步: 首先写 三个函数 ,2017年5月17 ...

  2. sharepoint 搜索报错

    配置sharepoint 拓扑架构,将两台服务器一起来爬网. 配置如下: $hostA = Get-SPEnterpriseSearchServiceInstance -Identity " ...

  3. 数据存储之归档解档 NSKeyedArchiver NSKeyedUnarchiver

    在构建应用程序时,有一个重要的问题是如何在每次启动之间持久化数据,以便重现最后一次关闭应用前的状态.在iOS和OS X上,苹果提供了三种选择:Core Data.属性列表(Property List) ...

  4. 如何设计处优秀的Restful API

    只知道遵规循矩的程序员是假程序员,任何技术都是不断发明创造改进的. 如何设计处优秀的Restful API?  盲目跟风,设计糟糕的Resful API = 浪费时间 ! 不啰嗦,直接进入技术主题: ...

  5. 剑指Offer_编程题之用两个栈实现队列

    题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型.

  6. Innodb和Mysiam引擎的区别

    一:区别 Mysiam: 1.是非事务安全型. 2.是表级锁. 3.如果执行大量的select,Mysiam是更好的选择. 4.select count(*)from table.Mysiam只简单的 ...

  7. C# 操作word 模板 值 替换

    1.引用 aspose.words   dll 2.word 使用doc 3.给word 模板中添加要替换位置的 书签 .引用 aspose.words dll .word 使用doc .给word ...

  8. [译]C语言实现一个简易的Hash table(6)

    上一章中,我们实现了Hash表中的插入.搜索和删除接口,我们在初始化hash表时固定了大小为53,为了方便扩展,本章将介绍如何修改hash表的大小. 设置Hash表大小 现在,我们的hash表是固定大 ...

  9. 【原创】CRM 2015/2016,SSRS 生成PDF文件,幷以附件的形式发送邮件

    主要步骤如下: 生成一条邮件记录 生成一条ActivityParty记录 生成PDF文件,并以Base64添加到ActivityMimeAttachment 中去 打开发送邮件窗口,以便编辑及发送邮件 ...

  10. 一图看懂JVM,JRE,JDK的关系