菜鸟求助,这段代码最后返回null为啥?

蓝with黑 2015-08-01 04:39:46
function styleHeaderSibings(){
var header=document.getElementsByTagName("h1");
var elem;//创建变量
for(var i=0;i<header.length;i++){
elem=getNextElement(header[i].nextSibling); //调用函数
elem.style.fontWeight="bold";
elem.style.fontSize="1.2em";
elem.style.color="blue";
}
}
function getNextElement(node){
if(node.nodeType==1){
return node;
}
if(node.nextSibing){
return getNextElement(node.nextSibling);
}
return null;
}
这个函数如果下个节点不是元素节点,就查找下下个元素是不是“元素节点”,是这个意思吗?
最后
return null;
h1后面都没与元素节点 才返回null这个意思吗?
...全文
79 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
离子漂浮物 2015-08-01
  • 打赏
  • 举报
回复
node.nextSibing为null时返回null 然后 elem=getNextElement(header[i].nextSibling); //调用函数 后面最好加个if(elem){}来判定一下,防止返加null时还往null里设置值。
似梦飞花 2015-08-01
  • 打赏
  • 举报
回复
只要下一个兄弟节点不是node.nodeType 就递归的往下找 直到没有下一个节点返回null

87,838

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧