建站学 - 轻松建站从此开始!

建站学-个人建站指南,网页制作,网站设计,网站制作教程

javascript中DOM本质及操作(4)

时间:2010-09-12 23:14来源: 作者: 点击:
访问DOM节点 假设我们有一个包含了一个段落和一个无序列表的基本XHTML文档: !DOCTYPEhtmlPUBLIC-//W3C//DTDXHTML1.0Strict//ENhttp://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd html xmlns = http://www.w3.org/

 

  访问DOM节点

  假设我们有一个包含了一个段落和一个无序列表的基本XHTML文档:

 

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">   
  2. <html xmlns="http://www.w3.org/1999/xhtml" lang="en">   
  3.     <head>   
  4.             <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />   
  5.             <title>JavaScript!</title>   
  6.     </head>   
  7.     <body>   
  8.          
  9.         <p id="intro">My first paragraph...</p>   
  10.         
  11.         <ul>   
  12.             <li>List item 1</li>   
  13.             <li>List item 1</li>   
  14.             <li>List item 1</li>   
  15.             <li>List item 1</li>   
  16.             <li>List item 1</li>   
  17.         </ul>   
  18.         
  19.         <script type="text/javascript">   
  20.         // <![CDATA[    
  21.           
  22.        // ]]>   
  23.         </script>   
  24.         
  25.     </body>   
  26. </html>   

  在第一个例子中我们将使用’getElementById’这个DOM方法访问我们的段落。

  var introParagraph = document.getElementById('intro'); / 我们现在访问了一个DOM节点,这个DOM节点代表intro段落。

  变量’introParagraph’现在指向DOM节点,我们现在可以在这个节点上做很多事情,我们可以读取它的内容和属性,也可以控制它的任何方面。我们可以删除它、克隆它或将它移到DOM树的其它位置。

  我们可以使用JavaScript和DOM接口访问现在文档中的任何东西。所以,我们可能希望用类似的方式访问文档中的那个无序列表,但唯一的问题就在于它并没有ID。你可以给它一个ID属性并使用同样的方法访问它或者使用’getElementsByTagName’方法访问它。

  var allUnorderedLists = document.getElementsByTagName('ul'); // 'getElementsByTagName' 返回当前存在的节点集合/列表 // 它除了那一点微小的差别外其实和数组很相似。

  getElementsByTagName

  getElementsByTagName方法返回当前存在的节点集合/列表,它和数组的相似之处是它也有length属性。需注意的重要一点是这些集合是’即时’的,如果你在DOM中添加了一个新元素那么这个集合将自动自我更新。由于它和数组类似,所以我们可以使用索引来访问其中的每个节点,从0到这个集合的总长度(减1)。

 

  1. // 访问单个无序列表: [0] index    
  2. var unorderedList = document.getElementsByTagName('ul')[0];    
  3.         
  4. // 将UL中的列表项创建为节点列表:    
  5. var allListItems = unorderedList.getElementsByTagName('li');    
  6.        
  7. // 现在我们可以使用for循环遍历列表项:    
  8. for (var i = 0length = allListItems.length; i < length; i++) {    
  9.     // 提取其文本节点并alert它的内容:    
  10.     alert( allListItems[i].firstChild.data );    
  11. }
(责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片