javaScript的DOM(一)

DOM是Document Object Model的縮寫,簡稱文檔對象模型,,先來看一下DOM樹結構圖:javascript

 

 

經過 HTML DOM,可訪問 JavaScript HTML 文檔的全部元素。java

訪問HTML元素節點經常使用的有3種方式dom

1.經過 id 訪問 HTML 元素函數

document.getElementByIdcode

2.經過標籤名訪問 HTML 元素對象

document.getElementsByTagNameip

3.經過類名訪問 HTML 元素文檔

document.getElementsByClassNameget

<head>it

       <title></title>

       <p id="demo" class="hello">你好</p>

       <p id="test">世界</p>

       <script type="text/javascript">

       //id

       var p1=document.getElementById("demo");

       console.log(p1);

       var res1=p1.innerHTML;

       console.log(res1);

       //標籤名

       var p2=document.getElementsByTagName("p");

       console.log(p2);

       var res2=p2[1].innerHTML;

       console.log(res2);

       //類名

       var p3=document.getElementsByClassName("hello");

       var res3=p3[0].innerHTML;

       console.log(res3);

      

      

</script>

</head>

此外用className選擇元素.實現有2步

1.選出全部元素

2.經過className條件篩選

示例:將class="box"的li的背景顏色變爲紅色

<script type="text/javascript">

window.onload=function ()

{

       var oUl=document.getElementById('ul1');

       var aLi=oUl.getElementsByTagName('li');

       var i=0;

      

       for(i=0;i<aLi.length;i++)

       {

              if(aLi[i].className=='box')

              {

                     aLi[i].style.background='red';

              }

       }

}

</script>

</head>

<body>

<ul id="ul1">

       <li></li>

       <li></li>

       <li></li>

       <li class="box"></li>

       <li></li>

       <li class="box"></li>

       <li class="box"></li>

       <li></li>

       <li></li>

       <li></li>

</ul>

</body>

運行結果:

 

 

封裝成函數

<script type="text/javascript">

function getByClass(oParent, sClass)

{

       var aEle=oParent.getElementsByTagName('*');

       var aResult=[];

       var i=0;

      

       for(i=0;i<aEle.length;i++)

       {

              if(aEle[i].className==sClass)

              {

                     aResult.push(aEle[i]);

              }

       }

      

       return aResult;

}

 

window.onload=function ()

{

       var oUl=document.getElementById('ul1');

       var aBox=getByClass(oUl, 'box');

       var i=0;

      

       for(i=0;i<aBox.length;i++)

       {

              aBox[i].style.background='yellow';

       }

}

</script>

實現效果和以前的效果是一致的

經過dom操做 改變HTML內容

1.改變 HTML 輸出流

document.write("hello");

2.改變 HTML 內容

document.getElementById("demo").innerHTML="51code";

3.改變HTML樣式

document.getElementById("test").style.background="red";

相關文章
相關標籤/搜索