[英]My recursive function isn't returning anything
I'm trying to select a the parent form element of an input. 我正在尝试选择输入的父表单元素。 The form element isn't necessarily the direct parent node.
表单元素不一定是直接父节点。 Currently this outputs "undefined" to my log.
当前,这会向我的日志输出“未定义”。
var anInputElement = document.querySelector(...);
var formElement = getFormElement(anInputElement);
console.log(formElement);
function getFormElement(elem) {
//if we've traversed as high as the `body` node then
//we aint finding the `form` node
if(elem.nodeName.toLowerCase() !== 'body') {
var parent = elem.parentNode;
if(parent.nodeName.toLowerCase() === 'form') {
return parent;
} else {
getFormElement(parent);
}
} else {
return false;
}
}
Why am I getting undefined in my console log? 为什么在控制台日志中无法定义?
not just 不只是
getFormElement(parent);
but 但
return getFormElement(parent);
and simplified, just for fun: 和简化,只是为了好玩:
function getFormElement(elem) {
if(elem.nodeName.toLowerCase() !== 'body') {
var parent = elem.parentNode;
return parent.nodeName.toLowerCase() === 'form' ? parent : getFormElement(parent);
}
return false;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.