Javascript DOM操作实例
最近在学DOM,但是还是没有办法很好的记住API,想找些例子来练习,网上的例子将一个个DOM对象方法挨个举例,并没有集合在一起用,效果不尽人意。所以自己写一份实例,顺便巩固下学到的知识。
这个例子很简单,主要就是操作ul下面的li,但是会贯穿很多DOM的对象方法。
首先在body下面创建一个ul,注意<ul></ul> 之间不要有空格或回车,否则会造成文本节点。
```
<body>
<ul id="fruit"></ul>
</body>
```
接下来就是Javascript代码了,首先我们需要通过id为“fruit”来获取ul这个节点。
```
var oUl = document.getElementById("fruit");
```
通过getElementById()便可以获得ul这个节点了,之后我们要在ul节点下面创建子节点。通过createElement()创建li节点,然后再通过textContent属性来给新建的节点增加内容,最后在通过appendChild()将li节点绑定到ul上面。
```
var newNode1 = document.createElement("li");
newNode1.textContent = "第一个节点";
oUl.appendChild(newNode1); var newNode2 = document.createElement("li");
newNode2.textContent = "第二个节点";
oUl.appendChild(newNode2);
```
这样我们的网页上就已经有两个节点了,看下网页效果。
接下来,我们要在“第二个节点”的前面插入“第三个节点”。所以我们需要先获取到“第二个节点”,可以通过childNode和nodeList实现,获取到之后在通过insertBefore()进行插入。
```
var nodeList = oUl.childNodes;
var newNode3 = document.createElement("li");
newNode3.textContent = "第三个节点";
oUl.insertBefore(newNode3,nodeList[1]);
```
效果如下:
现在,我打算用“第四个节点”替换掉“第一个节点”,这里需要用的replaceChild()函数以及获取第一个元素firstChild。
```
var newNode4 = document.createElement("li");
newNode4.textContent = "第四个节点";
oUl.replaceChild(newNode4,oUl.firstChild);
```
效果如下:
最后,我们来移除最后一个节点,也就是“第二个节点”,用到了lastChild,不过在移除之前,需要用hasChildNodes来判断oUl是否有子节点。
```
if(oUl.hasChildNodes){
oUl.removeChild(oUl.lastChild);
}
```
至此,DOM简单的实例完成了。<br/>
这里是完整代码
```
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>DOM</title> <style>
body{background:#f1f1f1;}
</style>
<script>
window.onload = function(){
var oUl = document.getElementById("fruit");//获取id为“fruit”的元素 var newNode1 = document.createElement("li");//创建一个li节点
newNode1.textContent = "第一个节点";//给新创建的li节点赋值
oUl.appendChild(newNode1);//添加到oUl上 var newNode2 = document.createElement("li");
newNode2.textContent = "第二个节点";
oUl.appendChild(newNode2); var nodeList = oUl.childNodes;
var newNode3 = document.createElement("li");
newNode3.textContent = "第三个节点";
oUl.insertBefore(newNode3,nodeList[1]);//newNode3插入到nodeList[1]之前 var newNode4 = document.createElement("li");
newNode4.textContent = "第四个节点";
oUl.replaceChild(newNode4,oUl.firstChild);//newNode4替换掉oUl的第一个子节点 if(oUl.hasChildNodes){//如果oUl存在子节点
oUl.removeChild(oUl.lastChild);//删除oUl的最后一个节点
}
}
</script>
</head>
<body>
<ul id="fruit"></ul>
</body>
</html>
```
Javascript DOM操作实例的更多相关文章
- javascript DOM 操作
在javascript中,经常会需要操作DOM操作,在此记录一下学习到DOM操作的知识. 一.JavaScript DOM 操作 1.1.DOM概念 DOM :Document Object Mode ...
- javascript DOM 操作 attribute 和 property 的区别
javascript DOM 操作 attribute 和 property 的区别 在做 URLRedirector 扩展时,注意到在使用 jquery 操作 checkbox 是否勾选时,用 at ...
- javascript DOM操作之 querySelector,querySelectorAll
javascript DOM操作之 querySelector,querySelectorAll
- javascript DOM 操作基础知识小结
经常用到javascript对dom,喜欢这方便的朋友也很多,要想更好的对dom进行操作,这些基础一定要知道的. DOM添加元素,使用节点属性 <!DOCTYPE html PUBLIC ...
- javascript DOM操作HTML文档
文档对象模型(DOM)是W3C为解决浏览器混战时代不同浏览器环境之间的差别而制定的模型标准.W3C将文档对象模型定义为:是一个能让程序和脚本动态 访问和更新文档内容.结构和样式的语言平台.提供了标准的 ...
- 仅100行的JavaScript DOM操作类库
如果你构建过Web引用程序,你可能处理过很多DOM操作.访问和操作DOM元素几乎是每一个Web应用程序的通用需求.我们我们经常从不同的控件收集信息,我们需要设置value值,修改div或span标签的 ...
- SVG基础以及使用Javascript DOM操作SVG
SVG 不依赖分辨率 支持事件处理器 最适合带有大型渲染区域的应用程序(比如谷歌地图) 复杂度高会减慢渲染速度(任何过度使用 DOM 的应用都不快) 不适合游戏应用 Canvas 依赖分辨率 不支持事 ...
- javascript DOM操作 第19节
<html> <head> <title>DOM对象</title> <script type="text/javascript&quo ...
- 常见的原生javascript DOM操作
1.创建元素 创建元素:document.createElement() 使用document.createElement()可以创建新元素.这个方法只接受一个参数,即要创建元素的标签名.这个标签名在 ...
随机推荐
- fopen()、 file_get_contents() 通过url获取链接内容
功能:获得网页内容 区别如下: fopen()打开URL 下面是一个使用fopen()打开URL的例子: <?php $fh = fopen('http://www.baidu.com/', ' ...
- hadoop2.2.0伪分布式搭建1--准备Linux环境
1.0修改网关 点击VMware快捷方式,右键打开文件所在位置 -> 双击vmnetcfg.exe -> VMnet1 host-only ->修改subnet ip 设置网段:19 ...
- oracle11G使用DGbroker创建dg
1.环境: a.主机环境:centos6.5 b.软件环境:oracle 11.2.0.4 c.主机信息: DG1:192.168.100.51(数据库sid:atest) DG2:192.168.1 ...
- Linux IPC udp/ip socket 编程
模型 #include <unistd.h> #include <sys/types.h> #include <sys/socket.h> #include < ...
- php魔术方法罗列
##__sleep() 和 __wakeup() 当序列化(serialize)对象时,PHP 将试图在序列动作之前调用该对象的成员函数 __sleep() .__sleep() 方法常用于提交未提交 ...
- Flex 布局教程:语法篇[转]
网页布局(layout)是CSS的一个重点应用. 布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性.它对于那些特殊布局非常不方便,比如,垂直居中 ...
- 为什么是 Cloud Service?
怀旧一把,还记得这个界面吗? 没错,这是第一版Windows Azure Management Portal,用Silverlight开发的,很炫! 奇怪,为什么没有Virtual Machine? ...
- 给textarea添加背景图
给textarea添加背景图用的好也很有意思哦. <style type="text/css"> textarea{ background: url(img/carto ...
- C# 匿名函数 详解
匿名函数的定义和用途 匿名函数是一个“内联”语句或表达式,可在需要委托类型的任何地方使用. 可以使用匿名函数来初始化命名委托[无需取名字的委托],或传递命名委托(而不是命名委托类型,传递一个方法块,而 ...
- [No000019]不想背单词?看看游戏能否帮你