Mil*_*uzz 3 javascript jquery function
这有什么理由:
function find_parent_p(x){
daddy = jQuery(x).parent();
if(daddy.attr("tagName").toLowerCase() == 'p'){
console.log(daddy,"result");
return (daddy);
} else {
find_parent_p(daddy);
}
}
jQuery(document).ready(function($){
$('img').each(function(){
next = find_parent_p($(this));
})
});
Run Code Online (Sandbox Code Playgroud)
将在控制台中返回一个jQuery对象(预期行为),其中返回以下内容Undefined我正在做的是将调用移到console.log函数外部,并在调用之后:
function find_parent_p(x){
daddy = jQuery(x).parent();
if(daddy.attr("tagName").toLowerCase() == 'p'){
return (daddy);
} else {
find_parent_p(daddy);
}
}
jQuery(document).ready(function($){
$('img').each(function(){
next = find_parent_p($(this));
console.log(next,"result");
})
});
Run Code Online (Sandbox Code Playgroud)
return在你的else情况下,你错过了陈述.如果你的函数是递归的,那么顶级调用将不会返回任何内容,你最终会得到undefined.
else {
return find_parent_p(daddy);
}
Run Code Online (Sandbox Code Playgroud)