<!--

节点类型检查

if(someNode.nodeType==ElementNode){

alert("Node is an element");

}

或者

if(someNode.nodeType==1){

alert("Node is an element");

}

使用nodeName和nodeValue这两个属性

if(someNode.nodeType==1){

var someNode.nodeName();//nodeName的值是元素的标签名

}

每一个节点都有一个childNodes属性。当中保存NodeList对象,NodeList是一种类型数组对象,用于保存一组有序的节点

这个对象也有length属性,能够通过位置来訪问这些节点

var firstChild=someNode.childNodes[0];

var secondChild=someNode.childNodes.item(1);

var length=someNode.childNodes.length;

每一个节点都有一个parentNode属性。该属性指向文档树中的父节点

if(someNode.nextSibling===null){

alert("last node in the parent's childNodes list...");

}else if(someNode.previousSibling===null){

alert("First node in the parent's childNodes list...");

假设列表中仅仅有一个节点,那么该节点的nextSibling和previousSibling都为null

}

父节点和第一个子节点和最后一个子节点也存在关系

firstChild

lastChild

即存在这种关系

(someNode.childNodes[0]===someNode.firstChild)

(someNode..childNodes[childNodes.length-1]===someNode.lastChild)



操作节点

最经常使用的方法是appendChilde();//用于向childNodesd的末尾加入一个节点

var returnNode=somenNode.appendChild(newNode);

alert(returnNode==newNode);//true

alert(someNode.lastChild==newNode);//true

使用insertBefore()方法将节点附加到ChildNodes的任何位置

var returnNode=someNode.appendChild(newNode,null);

alert(returnNode==someNode.lastNode);//true

//插入后成为一个子节点

var returnNode=someNode.appendChild(newNode,someNode.firstNode);

alert(returnNode===newNode);

alert(returnNode===someNode.firstNode);

//插入后成为最后一个节点的前一个节点

var returnNode=someNode.appendChild(newNode,someNode.lastNode);

alert(returnNode===someNode.childNodes.length-2);//true

alert(returnNode===newNode);//true

//注意:appendChild()和insertBefore不会删除节点

//replaceChild()方法接受两个參数,要插入的节点和要替换的节点,要替换的节点将由这种方法返回并从文档树中删除

//替换第一个子节点

var retuenNode=someNode.replaceChild(newNode,someNode.firstChild);

//替换最后一个子节点

var returnNode=somNode.replaceChild(newNode,someNode.lastChild);

//使用removeChild()方法删除一个子节点

var formerFirstNode=someNode.removeChild(someNode.firstNode);

//删除最后一个子节点

var lastNode=someNode.removeChild(someNode.lastNode);

//parentNode属性

。。。

//其它方法

cloneNode():用于创建调用这种方法的节点的全然一样的一个副本

CloneNode()接受一个布尔值用于运行是否深度复制,在參数为true时。运行深度复制

也就是复制节点和整个子树节点,在參数为FALSE时。仅仅复制本身

<ul>

<li>1</li>

<li>2</li>

<li>3</li>

</ul>

var deepList=Mylist.clondNode(true);

alert(deeplist.childNodes.length);

//查找元素

对于document对象来说,提供了两个方法

getElementById();

getElementsByTagName();

var images=document.getElementsByTagName("img");

alert(images.length);

alert(images.item(0).src);

alert(images[0].src);

//文档写入 write(),writeln(),open(),clost();

document.writeln("当前的时间是:"+new Date()+";");

//取得属性

var div=document.getElementById("div");

alert(div.getAttribute("id"));

alert(div.getAttribute("title"));

alert(div.getAttribute("class"));

alert(div.getAttribute("dir"));

//设置属性

div.setAttribute("id","someId");

div.setAttribute("class","someClass");

//创建元素

var dir=document.createElement("div");

//为元素的属性复制

dir.id="someId";

dir.class="someClass";

dir.height="200"+"px";

dir.width="200"+"px";

//将创建的元素加入到document.body元素中去

document.body.appendChilde(div);

var dir=document.createElement("<div...>");



-->

版权声明:本文博客原创文章。博客,未经同意,不得转载。

DOM笔记2的更多相关文章

  1. DOM笔记(十):JavaScript正则表达式

    一.RegExp ECMAScript通过RegExp类型类支持正则表达式,语法和Perl类似: var exp = /pattern/flags; patternb部分是任何简单的或复杂的正则表达式 ...

  2. DOM笔记(七):开发JQuery插件

    在上一篇笔记本中,讲解了如何利用jQuery扩展全局函数和对象:DOM笔记(六):怎么进行JQuery扩展? 在这篇笔记本中,将开发一个简单的动画插件,名称是example-plugin,用其实现一个 ...

  3. DOM笔记(五):JavaScript的常见事件和Ajax小结

    一.常见事件类型 1.鼠标事件 事件名称 说明 onclick 鼠标单击时触发 ondbclick 鼠标双击时触发 onmousedown 鼠标左键按下时触发 onmouseup 鼠标释放时触发 on ...

  4. DOM笔记(四):HTML 5 DOM复杂数据类型

    HTML 5 DOM定义了一下集合.列表等复杂的数据类型用于实现便捷的操作.相对于HTML 4 DOM,HTML 5 DOM增加了HTMLCollection.DOMTokenList.DOMStri ...

  5. DOM笔记(三):Element接口和HTMLElement接口

    一.Element接口 Element接口表示一个元素,该接口扩展自Node接口,自然继承了Node接口的属性和方法,也有一套针对元素的属性和方法. Element接口常见的属性比较少,常用的就是一个 ...

  6. DOM笔记(二):Node接口

    所有的节点都使用Node接口来表示,可以使用很多方法去获取节点,如document.getElementsByTagName().document.getElementsByName()等均返回一个N ...

  7. DOM笔记(一):HTMLDocument接口

    操作HTML文档的第一步就是获取对文档元素的引用,每一个元素在DOM中就是一个节点,所有的元素在DOM中构成一个节点树. 用于获取元素节点定义的方法定义于HTMLDocument接口,window.d ...

  8. DOM笔记(十):JavaScript正則表達式

    一.RegExp ECMAScript通过RegExp类型类支持正則表達式,语法和Perl类似: var exp = /pattern/flags; patternb部分是不论什么简单的或复杂的正則表 ...

  9. DOM笔记(十三):JavaScript的继承方式

    在Java.C++.C#等OO语言中,都支持两种继承方式:接口继承和实现继承.接口继承制继承方法签名,实现继承则继承实际的方法和属性.在SCMAScript中,由于函数没有签名,所以无法实现接口继承, ...

  10. DOM笔记(十二):又谈原型对象

    因为之前谢过一篇关于原型对象的笔记:浅谈JavaScript中的原型模式.现在我又重新看到这个话题,对原型有了进一步的理解,所以,又要谈谈原型对象. 一.理解原型对象 创建的每一个函数都有一个prot ...

随机推荐

  1. Nginx安装手冊以及图片server部署

    1.      安装gcc yum install gcc 2.      安装pcre,pcre-devel 在zhoulh文件夹下建立source build文件夹 mkdir source bu ...

  2. 【VMware混合云】掀起你的盖头来

    作者:范军 (Frank Fan) 新浪微博:@frankfan7   微信:frankfan7 VMware混合云服务(vCHS)预计在2013年8月23日正式面向用户推出.目前开放服务的四个数据中 ...

  3. Phpcms所有系统变量列表 Phpcms V9 文件目录结构

    Phpcms所有系统变量列表 用户变量: view plaincopy to clipboardprint? $_userid    用户id   $_username 用户名   $_areaid  ...

  4. Android kxml解析WBXML

     WAP Binary XML定义好XML片断表述出同步server地址.远程数据库名称.登录账号等等内容一.两种訪问方法: 眼下的kxml支持两种wap格式:WBXML/WML. 而有两种方法将解析 ...

  5. Codeforces Round #256 (Div. 2) C. Painting Fence 或搜索DP

    C. Painting Fence time limit per test 1 second memory limit per test 512 megabytes input standard in ...

  6. uva297(quadtree)

    给我们两棵quadtree的前序遍历,要我吗求原来32*32的矩阵有多少个位置是黑的 quardtree是将区域划分为相等的4个子空间,然后再递归划分这4个子空间,知道满足条件后终止划分 这题的终止条 ...

  7. 数据验证validator 与 DWZ

    在进行系统经常使用的数据验证.数据验证可以编写自己的,它也可以用来作为现在.现在,记录这两个库的使用, validator <!DOCTYPE HTML PUBLIC "-//W3C/ ...

  8. 自己实现的Boost库中的lexical_cast随意类型转换

    知道了C++的I/O设施之后.这些就变的非常easy了. 假设你常常使用,时间长了就会有感觉.这个事情是多此一举吗?就当是练习吧,知道原理之后,你会认为用起来更舒畅,更喜欢C++了. #include ...

  9. HDU 1051:Wooden Sticks

    Wooden Sticks Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) To ...

  10. 2015华为德州扑克入境摘要——软体project

    直到6一个月2号下午12时00,华为长达一个月的德州扑克锦标赛落下帷幕也被认为是. 我们的团队一直共同拥有3民,间.一个同学(吴)负责算法设计,一个同学(宋)负责分析消息,而我负责的实现框架设计和详细 ...