当前位置:编程学习 > JAVA >>

javascript学习7——javascript DOM(上)

什么是DOM
          DOM不是javascript,DOM是文档。
          DOM是一组用来描述脚本怎样与结构化文档进行交互和访问的web标准。
          DOM定义了一系列对象、方法和属性,用于访问、操纵和创建文档中的内容、结构、样式以及行为。
继承在DOM中的作用
           当浏览器解析完某文档文件后,每个结点并非就是一个简单的Element对象的实例,而是继承了很多东西的Element对象的扩展。
核心Node对象
 
Node结点名称、类型和值
          DOM2中规定的每种核心对象   节点类型对应的nodeName值
 
nodeValue属性只适用于少数DOM对象,尤其是Attr、ProcessingInstructions、Comments、Text和CDATASection。除此之外,其它所有对象的nodeValue属性都将返回null。
 
DOM2核心规范中规定的  每种nodeType预期的nodeValue值:
 
nodeType:
我们之前看到的nodeType,它会包含与下面表中某个命名常量对应的一个整型数值。
表中列出的这些常量表示的是DOM核心对象,因此可以根据此确定派生某个节点的DOM核心对象的类型。
DOM核心对象的nodeType常量:
 
Node节点相互引用及属性
             节点的属性:
 
             alert(baidu.attributes.getNamedItem('href').nodeValue);(有来获取某个节点的单个属性)
 
下面是测试代码:
[html]  
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
<html xmlns="http://www.w3.org/1999/xhtml">  
<head>  
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
<title>无标题文档</title>  
  
<script type="text/javascript">  
    function test()  
    {  
        var baidu=document.getElementById('baiduId');  
        var div=document.getElementById('divId');  
          
        //测试一下a标签的ndoeName  
        //alert(baidu.nodeName);  
          
        //测试一下回车  现在IE和firefox都把回车看与一个文档结点了  
        //alert(div.childNodes[0].nodeName);  
          
        //测试一下element结点的nodeValue  
        //alert(baidu.nodeValue);  
          
        //测试a标签子结点的nodeValue  
        //alert(baidu.childNodes[0].nodeValue);  
          
        //测试注释结点的nodeValue  
        //alert(div.childNodes[1].nodeValue);  
          
        //测试 文本结点的 nodeType   Node.TEXT_NODE  IE和firefox都可以用了。  
        //if(div.childNodes[0].nodeType==Node.TEXT_NODE)  
        //{  
            //alert(div.childNodes[1].nodeValue);  
            //}  
              
        //测试childnodes  
//      var divChildNodes=document.getElementById('divId').childNodes;  
    //  for(var i=0;i<divChildNodes.length;i++)  
        //{  
            //alert(divChildNodes[i].nodeName);  
            //alert(divChildNodes[i].nodeValue);  
            //}  
        //}  
          
          
        //attributes属性。  
        //for(var i=0;i<baidu.attributes.length;i++)  
//      {  
//          //这两个都可以  
//          //alert(baidu.attributes.item(i).nodeName);  
//          alert(baidu.attributes[i].nodeName);  
//          };  
  
        alert(baidu.attributes.getNamedItem('href').nodeValue);  
        }  
    window.onload=test;  
</script>  
  
</head>  
  
<body>  
    <div id="divId">  
        <!--这是注释-->  
        <ul id="ulId">  
            <li id="baiduLiId">  
                <a href="http://www.baidu.com/" id="baiduId">百度</a>  
            </li>  
            <li>  
                <a href="http://www.google.com.hk/" title="google" id="googleId">google</a>  
            </li>  
            <li>  
                <a href="http://www.sogou.com/" id="sogouId">sogou</a>  
            </li>  
        </ul>  
    </div>  
</body>  
</html>  
 
      
 
节点的owerDocument属性
检测节点的属性:
补充:web前端 , JavaScript ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,