空的怎么解决?????
一直报错说,null.nodeName不存在,但是x=null时不执行此函数呀!!!!迷惑了
2016-10-28
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8"/>
<title>Subling兄弟节点</title>
</head>
<body>
<ul>
<li>JS</li>
<li>HTML</li>
<li>CSS</li>
<li>Jquery</li>
</ul>
<ul>
<li>C-N</li>
<li>PS</li>
<li>WEB</li>
<li>GO</li>
</ul>
<script type="text/javascript">
function get_nextSibling(n)
{
var x= n.nextSibling;
while(x&& x.nodeType!=1)//while(x)说明x不是一个空,得到true,取后面的值,详见疑难解答5
{
x= x.nextSibling;//while循环,如果不是一个元素,则下一个,直到出现一个元素
}
return x;//给调用函数的传回一个参数。
}
function get_previousSibling(n)
{
var x= n.previousSibling;
while(x&& x.nodeType!=1)
{
x= x.previousSibling;//while循环,如果不是一个元素,则下一个,直到出现一个元素
}
return x;//给调用函数的传回一个参数。
}
var A=document.getElementsByTagName("li")[0];
// document.write(A.nodeName+"="+ A.nodeValue+"<br/>");//元素节点的nodeValue是空的
document.write(A.nodeName+"="+ A.innerHTML+"<br/>");
var y=get_nextSibling(A);
if(y!=null)
{
document.write(y.nodeName+"="+ y.innerHTML+"<br/>");
}
else
{
document.write("是最后一个节点");
}
var z=get_previousSibling(A);
if(z!=null)//if(y)说明y不是一个空函数,得到true,取后面的值
{
document.write(z.nodeName+"="+ z.innerHTML+"<br/>");
}
else
{
document.write("是最后一个节点");
}
</script>
</body>
</html>
举报