码迷,mamicode.com
首页 > Web开发 > 详细

【JS学习笔记】DOM基础-首尾子节点,兄弟节点

时间:2017-01-31 20:03:00      阅读:272      评论:0      收藏:0      [点我收藏+]

标签:nts   ssi   meta   back   rip   cti   text   不兼容   style   

一、DOM节点

(1)首尾子节点

有兼容性问题

firstChild、firstElementChild

firstChild在高版本的浏览器上具有兼容问题,firstChild在高版本浏览器中指的是文本元素。

firstElementChild高级浏览器下可以使用,在IE6-8下反而不兼容。

解决兼容性的办法是使用if进行判断

<!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>
window.onload = function ()
{
    var oUl=document.getElementById(‘ul1‘);
    //这个东西只能在IE6-8版本下才能用
    //oUl.firstChild.style.background=‘red‘;/*firstChild在高版本的浏览器上具有兼容问题,firstChild在高版本浏览器中指的是文本元素。*/
    
    //高级浏览器下可以使用,在IE6-8下反而不兼容
    //oUl.firstElementChild.style.background=‘red‘;
    //处理兼容问题,一般用if
    /*首先判断firstElementChild是否存在*/
    if(oUl.firstElementChild)
    {
        oUl.firstElementChild.style.background=‘red‘;
        }
    else
    {
        oUl.firstChild.style.background=‘red‘;
        }
    };
</script>

</head>

<body>
<ul id="ul1">
    <li>1</li>
    <li>2</li>
    <li>3</li>
</ul>
</body>
</html>

当然,像lastCHild、lastElementChild,以及下面的兄弟节点,也是一个德行。

(2)兄弟节点

有兼容性问题

nextSibling、nextElementSibling

previousSibling、previousElementSibling

同首位子节点来解决兼容性问题。

 

【JS学习笔记】DOM基础-首尾子节点,兄弟节点

标签:nts   ssi   meta   back   rip   cti   text   不兼容   style   

原文地址:http://www.cnblogs.com/zhy2017/p/6359024.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!