HTML DOM学习之三
1.创建新的HTML元素:appendChild();
如需向HTML DOM添加元素,首先必须创建该元素,然后把它追加到已有的元素上;
<div id="div1">
<p id="p1">This is a paragraph.</p>
<p id="p2">This is another paragraph.</p>
</div>
<script>
var para=document.createElement("p"); //创建一个新的<p>元素
var node=document.createTextNode("This is new."); //首先创建一个文本节点
para.appendChild(node); //向<p>元素追加文本节点
var element=document.getElementById("div1"); //向查找到一个已有元素
element.appendChild(para); //向这个已存在的元素追加新元素
</script>
2.创建新的HTML元素:insertBefore()方法;
<div id="div1">
<p id="p1">This is a paragraph.</p>
<p id="p2">This is another paragraph.</p>
</div>
<script>
var para=document.createElement("p");
var node=document.createTextNode("This is new.");
para.appendChild(node);
var element=document.getElementById("div1");
var child=document.getElementById("p1");
element.insertBefore(para,child);
</script>
3.删除已有的HTML元素:如需删除HTML元素,您必须清楚该元素的父元素
<div id="div1">
<p id="p1">This is a paragraph.</p>
<p id="p2">This is another paragraph.</p>
</div>
<script>
var parent=document.getElementById("div1");
var child=document.getElementById("p1");
parent.removeChild(child); //从父元素中删除子元素
</script>
可以不查找父元素直接删除子元素的常用方法:
var child=document.getElementById("p1");
child.parentNode.removeChild(child);
4.替换HTML元素:如需替换HTML DOM中的元素,请使用replaceChild()方法:
<div id="div1">
<p id="p1">This is a paragraph.</p>
<p id="p2">This is another paragraph.</p>
</div>
<script>
var para=document.createElement("p");
var node=document.createTextNode("This is new .");
para.appendChild(node);
var parent=document.getElementById("div1");
var child=document.getElementById("p1");
parent.replaceChild(para,child);
</script>
5.HTML DOM-事件
**对事件作出反应:如需在用户点击某个元素时执行代码,请把JavaScript代码添加到HTML事件属性中:
<!DOCTYPE html>
<html>
<body>
<h1 onclick="this.innerHTML='Ooops!'">Chick on this text!</h1>
</body>
</html>
**HTML事件属性:如需向HTML元素分配事件,您可以使用事件属性:
<button onclick="displayDate()">Try it</button>
**使用HTML DOM来分配事件:
<script>
document.getElementById("myBtn").onclick=function(){displayDate()};
</script>
**onload和onunload事件
onload事件可用于检查访客的浏览器类型和版本,以便于基于这些信息加载不同版本的网页
onload和onunload事件可用于处理cookies
<body onload="checkCookies()">
**onchange事件:onchange事件常用于输入字段的验证
<input type="text" id="fname" onchange="upperCase()">
**onmouseover和onmouseout事件:用于在鼠标指针移动到或离开元素时触发函数
**onmousedown,onmouseup以及onclick事件:
onmousedown,onmouseup以及onclick事件是鼠标点击的全部过程,首先当鼠标被点击时,触发onmousedown事件,然后,当鼠标被松开时,会触发onmouseup事件,最后,当鼠标点击完成时,触发onclick事件;
6.HTML DOM导航:通过HTML DOM,能够使用节点关系在节点树中导航
**HTML DOM节点列表
var x=document.getElementsByTagName("p"); //选取文档中所有<p>节点
y=x[1]; //通过下标号访问这些节点,访问第二个<p>
**HTML DOM节点列表长度:length属性定义节点列表中节点的数量,可以使用length属性来循环节点列表:
x=document.getElementsByTagName("p");
for(i=0;i<x.length;i++){
document.write(x[i].innerHTML);
document.write("<br />")
}
**能够使用三个节点属性:parentNode,firstChild以及lastChild,在文档结构中进行导航
<html>
<body> //<body>元素是首个<p>元素和<div>元素的父节点(parentNode)
<p id="intro">Hello World!</p> //首个<p>元素是<body>元素的首个子元素(firstChild)
<div> //<div>元素是<body>元素的最后一个子元素(lastChild)
<p>The DOM is very useful!</p>
<p>This example demonstrates node relationships.</p>
<script>
x=document.getElementById("intro");
document.write(x.firstChild.nodeValue);
</script>
</div>
</body>
</html>
**DOM根节点:这里有两个特殊的属性,可以访问全部文档:
document.documentElement-全部文档
document.body-文档主体
<html>
<body>
<p>Hello World!</p>
<div>
<p>The DOM is very useful!</p>
<p>This example demonstrates the <b>document.body</b>property</p>
</div>
<script>
alert(document.body.innerHTML);
</script>
</body>
</html>
**ChildNodes和nodeValue:除了innerHTML属性,也可以使用childNodes和nodeValue属性来获取元素的内容;
<html>
<body>
<p id="intro">Hello World!</p>
<script>
var txt=document.getElementById("intro").childNodes[0].nodeValue;
document.write(txt);
</script>
</body>
</html>
HTML DOM学习之三的更多相关文章
- AspectJ基础学习之三HelloWorld(转载)
AspectJ基础学习之三HelloWorld(转载) 一.创建项目 我们将project命名为:aspectjDemo.然后我们新建2个package:com.aspectj.demo.aspect ...
- Linux学习之三-Linux系统的一些重要配置文件
Linux学习之三-Linux系统的一些重要配置文件 1.网卡配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0 说明: DEVICE=eth0 ...
- C++11并发学习之三:线程同步(转载)
C++11并发学习之三:线程同步 1.<mutex> 头文件介绍 Mutex又称互斥量,C++ 11中与 Mutex 相关的类(包括锁类型)和函数都声明在 <mutex> 头文 ...
- 前端基础-BOM和DOM学习
JavaScript分为 ECMAScript,BOM,DOM. BOM:是指浏览器对象模型,使JavaScript有能力与浏览器进行对象. DOM:是指文档对象模型,通过它,可以访问HTML文档的所 ...
- HTML DOM 学习
HTML DOM 学习 By: Mirror王宇阳 E-mail:2821319009@qq.com 博客主页:https://www.cnblogs.com/wangyuyang1016/ DOM ...
- jackson学习之三:常用API操作
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- JavaScript DOM学习总结(一)
DOM 什么是DOM?简单地说DOM是一套对文档内容进行抽象和概念化的方法. W3C给出的DOM定义是这样的:"一个与系统平台和编程语言无关的接口,程序和脚本以通过这个接口动态的访问和修 ...
- Js dom 学习
节点类型 文档节点: 一棵DOM树的顶端是文档节点,它呈现为整个页面(相当于document对象),当需要访问任何元素.属性或文本节点时,都需要通过文档节点来进行导航.(document.) 元素节点 ...
- TCP学习之三:客户端、服务端同步传输字符串
参考学习张子阳大神的博客:http://www.cnblogs.com/JimmyZhang/category/101698.html 一个客户端.发送一条消息 客户端: 服务端: 注意:Networ ...
随机推荐
- 【C语言】二维指针做形参
转自:http://hi.baidu.com/gpmzccqceabimqq/item/f499f057aa1520404eff208b 关键: 传入时强制类型转换 + 使用时自己手工寻址 今天写程序 ...
- 【EM】代码理解
本来想自己写一个EM算法的,但是操作没两步就进行不下去了.对那些数学公式着实不懂.只好从网上找找代码,看看别人是怎么做的. 代码:来自http://blog.sina.com.cn/s/blog_98 ...
- [jquery]判断页面滚动到顶部和底部(适用于手机web加载)
//判断页面滚动到顶部和底部 $(window).scroll(function(){ var doc_height = $(document).height(); var scroll_top = ...
- 在CMD窗口中使用javac和java命令进行编译和执行带有包名的具有继承关系的类
一.背景 最近在使用记事本编写带有包名并且有继承关系的java代码并运行时发现出现了很多错误,经过努力一一被解决,今天我们来看一下会遇见哪些问题,并给出解决办法. 二.测试过程 1.父类代码 pack ...
- [Android] Android5.1系统自带的应用启动次数统计
reference to : http://blog.csdn.net/elder_sword/article/details/50508257 前段时间要做一个统计手机中激活量的东东,这个统计不是单 ...
- [Ubuntu] ubuntu10.04系统维护之Wine的安装
在介绍安装wine之前,我想是有必要先介绍一下Wine的.当然,如果是Liunx的高手,我想是没必要看的,但是对于笔者这样的菜鸟级人物还是需要看一下的. Wine是一款Liunx下的模拟器软件,但是W ...
- google关于ssh key的解释(转)转的google的wiki的
SSH keys (简体中文) SSH 密钥对可以让您方便的登录到 SSH 服务器,而无需输入密码.由于您无需发送您的密码到网络中,SSH 密钥对被认为是更加安全的方式.再加上使用密码短语 ( ...
- python 获取控制台输入
python想从控制台获取输入的的函数有两个一个是raw_input,一个是input. 这两个函数的区别是input获取的时候会精确到类型,假设输入的是1,那么获取的就是int型的变量,如果想输入字 ...
- 数据结构和算法 – 7.散列和 Hashtable 类
7.1.散列函数 散列是一种常见的存储数据的技术,按照这种方式可以非常迅速地插入和取回数据.散列所采用的数据结构被称为是散列表.尽管散列表提供了快速地插入.删除.以及取回数据的操作,但是诸如查找最大值 ...
- Oracle锁定和解锁用户的命令
转:http://database.51cto.com/art/200910/158576.htm 在DBA的日常工作中,经常遇到为Oracle用户解锁的操作:这篇文章给出在命令行下进行Oracle用 ...