首页 > 代码库 > 【JS学习笔记】DOM基础-首尾子节点,兄弟节点
【JS学习笔记】DOM基础-首尾子节点,兄弟节点
一、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基础-首尾子节点,兄弟节点