JavaScript DOM基础操作实例

开发 前端
文档对象模型(Document Object Model),通常简称为DOM,是网站内容与JavaScript互通的接口。自JavaScript成为最常用的语言时JavaScript和DOM通常被视为独立的实体。DOM接口用于存取、遍历和控制HTML和XML文档。

文档对象模型(Document Object Model),通常简称为DOM,是网站内容与JavaScript互通的接口。自JavaScript成为最常用的语言时JavaScript和DOM通常被视为独立的实体。DOM接口用于存取、遍历和控制HTML和XML文档。下面我们将简单的介绍一些JavaScript DOM的基本操作实例,包括建立、增加、删除、克隆、访问节点等等。

51CTO推荐阅读:JavaScript DOM的本质及操作方法

1. getElementById(id)     

这是通过id来访问某一元素,最常用的之一,例:    

  1. <html> 
  2.          <body> 
  3.          <div id="myid"> 
  4.          test  
  5.          </div> 
  6.          <script language="javascript"> 
  7.          alert(document.getElementById("myid").innerHTML);  
  8.          </script> 
  9.          </body> 
  10. </html> 

注意点:如果元素的ID不是***,则会取得***个该ID名称的元素。

2. getElementsByName(name)     

这是通过name来取得某一堆元素(作为数组),看 Element后面有个小s就知道了,ID是HTML文档中要求***的,name可以不是***,如checkbox、radio等地方会用到多个 input用同一个name来识别是否为同党。对了,getElementsByName(name)仅用于取得input、radio、 checkbox等元素,如<input name="myradio" type="radio" />。

3. getElementsByTagName(tagname)

看这方法就知道这也是取得某一堆元素(作为数组),是通过TagName也就是标签名来取得。你可以遍历这个数组获得每一个单独的元素。当一个DOM结构很大时,可以通过它来有效地缩小搜查范围。    

  1. <html>           
  2.          <head> 
  3.          <script> 
  4.          function test() {  
  5.          testall=document.getElementsByTagName("body");  
  6.          testbody=testall.item(0); //获得所有tagName是body的元素(当然每个页面只有一个)  
  7.          testall=testbody.getElementsByTagName("p");// 获得body子元素种的所有P元素  
  8.          testnode=testall.item(1); // 获得第二个P元素           
  9.          alert(testnode.firstChild.nodeValue); //显示这个元素的文本         }  
  10.          </script> 
  11.          </head> 
  12.          <body> 
  13.          <p>hi</p> 
  14.          <p>hello</p> 
  15.          <script language="javascript"> 
  16.          test();  
  17.          </script> 
  18.          </body> 
  19. </html> 

4. appendChild(node)

向当前的元素(应该叫对象比较恰当)追加节点。    

  1. <html> 
  2.          <body> 
  3.          <head> 
  4.          </head> 
  5.          <div id="test"></div> 
  6.          <script type="text/javascript"> 
  7.          var newdiv=document.createElement("div")  
  8.          var newtext=document.createTextNode("A new div")           
  9.          newdiv.appendChild(newtext)  
  10.          document.getElementById("test").appendChild(newdiv)  
  11.          </script> 
  12.          </body> 
  13. </html> 

刚才我在***个例子中为了显示出内容,用了innerHTML,刚才看到文章才得知innerHTMl不属于DOM。 

5. removeChild(childreference)

删除当前节点的子节点,返回被删除的节点。这个被删除的节点可以被插入到别的地方。

  1. <html> 
  2.          <body> 
  3.          <div id="parent"><div id="child">A child</div></div> 
  4.          <script language="javascript"> 
  5.          var childnode=document.getElementById("child")  
  6.          var removednode=document.getElementById("parent").removeChild(childnode)  
  7.          </script> 
  8.          </body> 
  9. </html> 

6. cloneNode(deepBoolean)

复制并返回当前节点的复制节点,复制节点是一个孤立节点,它复制了原节点的属性,在把这个新节点加入到document前,根据需要修改ID属性确保其ID的***。这个方法支持一个布尔参数,当deepBoolean设置true时,复制当前节点的所有子节点,包括该节点内的文本。

  1. <html> 
  2.          <body> 
  3.          <p id="mynode">test</p> 
  4.          <script language="javascript"> 
  5.          p=document.getElementById("mynode")   
  6.         ppclone = p.cloneNode(true);  
  7.          p.parentNode.appendChild(pclone);  
  8.          </script> 
  9.          </body> 
  10. </html> 

7. replaceChild(newChild, oldChild)

把当前节点的一个子节点换成另一个节点。

  1. <html> 
  2.          <body> 
  3.          <div id="mynode2"> 
  4.          <span id="orispan">span</span> 
  5.          </div> 
  6.          <script language="javascript"> 
  7.          var orinode=document.getElementById("orispan");  
  8.          var newnode=document.createElement("p");  
  9.          var text=document.createTextNode("test ppp ");  
  10.          newnode.appendChild(text);  
  11.          document.getElementById("mynode2").replaceChild(newnode, orinode);  
  12.          </script> 
  13.          </body> 
  14. </html> 

【编辑推荐】

  1. JavaScript DOM特性与应用详解
  2. JavaScript DOM修改文档树方法实例
  3. JavaScript DOM文档遍历实战 
责任编辑:王晓东 来源: 百度空间
相关推荐

2010-09-10 14:12:07

JavaScript

2017-07-19 14:26:01

前端JavaScriptDOM

2010-09-28 14:52:57

JavaScriptDOM

2010-09-08 16:50:11

JavaScriptDOM操作

2010-09-28 15:07:48

JavaScript

2010-09-08 15:47:08

JavsScriptJavaScript

2016-04-06 11:29:58

JavaScriptDOM操作

2010-09-08 09:59:46

JavaScriptDOM操作

2010-09-28 15:12:27

Javascript

2010-09-08 17:26:46

JavaScript

2010-09-28 14:12:50

Javascript

2009-08-18 16:04:12

C# 操作Excel

2010-09-13 14:24:17

JavaScript

2010-09-09 13:55:47

XML DOM

2019-12-11 09:23:51

JavaScriptHTMLXML

2013-09-02 16:59:34

JavaScriptHTML

2010-09-15 14:40:07

HTMLposition属性

2010-09-10 16:21:58

JavaScript

2013-09-03 10:40:45

JavaScriptWindows

2012-04-26 08:29:22

DOM
点赞
收藏

51CTO技术栈公众号