DOM基础实例

简介:

DOM基础实例


一.什么是DOM节点?

说白了标签元素和节点都一样只是在不同的地方叫法不同

css里面   叫标签

JS里面    叫元素

DOM里面叫节点

 

浏览器支持情况:现在主流浏览器大概就是:

IE                      10%

Chrome               60%

FF                     90%

 

 

(1)         DOM节点

(2)         ChildNodes(用来获取子节点,这个获取的是一个数组)    nodeType节点类型

ChildNodes例子

<!DOCTYPE html>

<html>

   <head>

     <meta charset="UTF-8">

     <title></title>

     <script>

        window.onload=function()

        {

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

           alert(oUl.childNodes.length);

        }

     </script>

   </head>

   <body>

     <ul id="ul1">

        <li></li>

        <li></li

     </ul>

   </body>

</html>

我写了一个ul里面有2li标签ChildNodes来获取ul的子节点,其实都知道 ul的子节点是li ,并且有2个,但是你用某些浏览器打开应该会出现5个子节点,这多出来的3个其实是3个文本节点,什么是文本节点其实就是空白,你自己算一下,ul里面先是空白,然后是li,再是空白,再是li,然后再是空白,这样就是5个,这就是浏览器的兼容问题!

 

下面来解决兼容问题,然后就用到nodeType了,nodeType是获取节点的类型

 

获取节点类型的例子:借用上面的代码写一个for循环

<script>

        window.onload=function()

        {

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

           for(var i=0;i<oUl.childNodes.length;i++)

           {

           alert(oUl.childNodes[i].nodeType)

           }

        }

     </script>

结果会报出来3现在说明3代表文本节点,1代表元素节点

nodeType==3 è代表文本节点

nodeType==1 è代表元素节点

 

大部分浏览器兼容问题都是用if解决

<script>

        window.onload=function()

        {

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

          

           //alert(oUl.childNodes.length)

           for(var i=0;i<oUl.childNodes.length;i++)

           {

           alert(oUl.childNodes[i].nodeType)

           if(oUl.childNodes[i].nodeType==1)

           {

             oUl.childNodes[i].style.background='red';            

           }

           }

        }

     </


 

本文转自 新网学会 51CTO博客,原文链接:http://blog.51cto.com/xwxhvip/1980413 ,如需转载请自行联系原作者

相关文章
|
10月前
|
JavaScript 开发者 UED
虚拟DOM的原理
虚拟DOM的原理
87 1
|
6月前
|
JavaScript 前端开发
react学习(3)创建虚拟dom的两种方式
react学习(3)创建虚拟dom的两种方式
186 67
|
6月前
|
XML JavaScript 前端开发
学习react基础(1)_虚拟dom、diff算法、函数和class创建组件
本文介绍了React的核心概念,包括虚拟DOM、Diff算法以及如何通过函数和类创建React组件。
66 3
|
7月前
|
JavaScript 前端开发
React——虚拟DOM创建的两种方式【二】
React——虚拟DOM创建的两种方式【二】
50 0
|
10月前
|
JavaScript 前端开发 算法
说说React中的虚拟dom?在虚拟dom计算的时候diff和key之间有什么关系?
说说React中的虚拟dom?在虚拟dom计算的时候diff和key之间有什么关系?
60 0
|
10月前
|
JavaScript 前端开发 算法
详解虚拟DOM的原理
详解虚拟DOM的原理
94 0
|
10月前
|
JavaScript 前端开发 算法
虚拟DOM的原理和理解
虚拟DOM的原理和理解
|
10月前
|
JavaScript 前端开发
【React学习】—虚拟DOM两种创建方式(二)
【React学习】—虚拟DOM两种创建方式(二)
|
JavaScript 前端开发 算法
介绍 DOM 和虚拟 DOM 的概念|学习笔记
快速学习介绍 DOM 和虚拟 DOM 的概念
介绍 DOM 和虚拟 DOM 的概念|学习笔记
|
JavaScript 前端开发 算法
介绍DOM和虚拟DOM的概念
介绍DOM和虚拟DOM的概念
介绍DOM和虚拟DOM的概念

热门文章

最新文章