3 回答
TA贡献1878条经验 获得超4个赞
function getNum(ele,box,num){
var num = num ? num : 1;
if(ele.parentNode == box){
return num;// num = 4
}else{
num++;
return getNum(ele.parentNode,box,num);
}
}
var a = document.getElementsByTagName("img")[0];
var b = document.getElementsByTagName("body")[0];
var c = getNum(a,b);
console.log(c);
不符合条件的话没return出去东西啊
TA贡献1820条经验 获得超10个赞
你else也要return getNum
另外 var num = num ? num : 1 最好写成 function(ele,box,num = 1){}
TA贡献1788条经验 获得超4个赞
<script>
//假设elem是target的意向父元素
function getParentOfBodyNum( elem, target, num ) {
var num = num ? num : 1;
if ( elem.parentNode == target ) {
document.write( "一共查找" + num + "次");//在html中,如果单单return num,并没有可见结果
} else {
num ++;
return getParentOfBodyNum( elem.parentNode, target, num );
}
}
var image = document.getElementsByTagName( "img" )[ 0 ];
var body = document.getElementsByTagName( "body" )[ 0 ];
getParentOfBodyNum( image, body );
</script>
添加回答
举报