JavaScript学习笔记(四)——DOM
第五章 网页交互——文本对象模型【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的更多相关文章
- javascript学习笔记(四) Number 数字类型
数字格式化方法toFixed().toExponential().toPrecision(),三个方法都四舍五入 toFixed() 方法指定小数位个数 toExponential() 方法 用科学 ...
- Javascript学习笔记四——操作表单
Javascript学习笔记 大多网页比如腾讯,百度云之类的需要登陆,用户输入账号密码就可以登陆,那么浏览器是如何获取用户的输入的呢?今天就记录一下操作表单. 操作表单与操作DOM是差不多的,表单本身 ...
- javascript学习笔记之DOM与表单
DOM(文档对象模型),猫叔了一个层次化的节点树 一.DOM NODE相关公共属性与方法 DOM中所有节点都实现了NODE接口,该接口的公共属性和方法如下: 1.节点基本属性 1)NodeType 节 ...
- JavaScript学习笔记之DOM介绍
目录 1.简介 2.方法 3.属性 4.访问节点 5.修改节点 6.添加节点 7.删除节点 8.替换节点 9.改变 CSS 1.简介 文档对象模型(Document Object Model,DOM) ...
- javascript学习笔记之DOM
DOM(文档对象模型),描述了一个层次化的节点树 一.DOM NODE相关公共属性与方法 DOM中所有节点都实现了NODE接口,该接口的公共属性和方法如下: 1.节点基本属性 1)NodeType 节 ...
- JavaScript学习笔记(四)——jQuery插件开发与发布
jQuery插件就是以jQuery库为基础衍生出来的库,jQuery插件的好处是封装功能,提高了代码的复用性,加快了开发速度,现在网络上开源的jQuery插件非常多,随着版本的不停迭代越来越稳定好用, ...
- JavaScript 学习笔记-HTML&&DOM
HTML DOM (文档对象模型) 当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model). HTML DOM 模型被构造为对象的树. JavaScript 能够 ...
- JavaScript学习笔记(四十四) 装饰器
装饰器模式(Decorator) 在装饰器模式中,可以在运行时给一个对象动态的添加额外的功能.当和静态类打交道的时候(static classes),这可能是一个挑战.但在JavaScript中,对象 ...
- JavaScript学习笔记之DOM对象
目录 1.Document 2.Element 3.Attribute 4.Event 1.Document 每个载入浏览器的 HTML 文档都会成为 Document 对象,Document 对象允 ...
- Javascript学习笔记三——操作DOM(二)
Javascript学习笔记 在我的上一个博客讲了对于DOM的基本操作内容,这篇继续巩固一下对于DOM的更新,插入和删除的操作. 对于HTML解析的DOM树来说,我们肯定会时不时对其进行一些更改,在原 ...
随机推荐
- Spring+Hibernate+struts2+JPA 注解+跨域//完成手机端点击加载更多 下拉加载更多
一.使用IDEA新建一个maven项目(student) 1.1.0编写pom文件,添加项目所需要的包 <?xml version="1.0" encoding=" ...
- centos6.4 安装code::blocks
今天下午闲着没事尝试在自己的PC中的CentOS上装一个Code::Blocks,因为是Linux菜鸟折腾了一下午才基本算搞定但依然有疑惑: 在网上各种谷哥度娘最后才发现还是官方的文档最靠谱:看这里. ...
- Spring异步-@Async注解
Spring异步:@Async注解 使用@Async前需要开启异步支持:@EnableAsync 注解和XML方式 @Async返回值的调用:需要使用Future包装 1.如果没有使用Future包装 ...
- java SSM 框架 多数据源 代码生成器 websocket即时通讯 shiro redis 后台框架源码
A 调用摄像头拍照,自定义裁剪编辑头像 [新录针对本系统的视频教程,手把手教开发一个模块,快速掌握本系统]B 集成代码生成器 [正反双向](单表.主表.明细表.树形表,开发利器)+快速构建表单; 技 ...
- java的多线程和并发库
一.多线程基础知识 1.传统使用类Thread和接口Runnable实现 1)在Thread子类覆盖的run方法中编写运行代码 2)在传递给Thread对象的Runnable对象的run方法中编写代码 ...
- [转载]Linux crontab命令解析
名称 : crontab crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表.-u user 是指设定指定 user 的时程表,这个前提是你必须要有其权 ...
- iOS之禁止所有输入法的表情
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSSt ...
- js获取今天,明天,本周五,下周五日期的函数
代码比较简单,随便写写 /** * a连接快速选择日期函数 */ function timeChooseSimple(key, me) { //today,tomorrow,thisWeek,next ...
- JAVA WEB 前台实时监控后台程序运行
基本思路: 1. 操作状态在类中以静态变量方式(或公共类存储公共变量方式,SESSION方式.COOKIE方式)存在 2. 前台采用AJAX方式激发后台进行业务逻辑操作,并实时更新操作状态信息 3. ...
- archLinux 学习笔记--mlocate的安装与使用
locate - 查找文件的简单方法 locate 程序会执行一次快速的路径名数据库搜索,并且输出每个与给定子字符串相匹配的路径名. 使用时却发现archlinux出现 bash: locate:未找 ...