DOM是Document Object Model的缩写,简称文档对象模型,,先来看一下DOM树结构图:

 

javaScript的DOM(一)

 

通过 HTML DOM,可访问 JavaScript HTML 文档的所有元素。

访问HTML元素节点常用的有3种方式

1.通过 id 访问 HTML 元素

document.getElementById

2.通过标签名访问 HTML 元素

document.getElementsByTagName

3.通过类名访问 HTML 元素

document.getElementsByClassName

<head>

       <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.οnlοad=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>

运行结果:

 

javaScript的DOM(一)

 

封装成函数

<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.οnlοad=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";

 

转载于:https://my.oschina.net/u/2971691/blog/789454

相关文章:

  • 2022-01-07
  • 2022-12-23
  • 2022-12-23
  • 2021-07-02
  • 2021-08-09
  • 2022-01-18
  • 2021-10-23
猜你喜欢
  • 2021-07-23
  • 2021-06-14
  • 2022-02-10
  • 2022-12-23
  • 2021-11-13
  • 2021-06-19
  • 2021-08-22
相关资源
相似解决方案