我编写了一个名为 getParentNode 的函数,用于获取按 tagName 过滤的某些特定父节点。代码如下。我不明白为什么该函数返回“未定义”。我认为它应该返回特定的parentNode或null。哦! 代码也在 http://jsfiddle.net/52ed6/2/
<html>
<body>
<ul>
<li>HTML</li>
<li>CSS</li>
<li>
<div>
<span id="reply">Reply</span>
</div>
</li>
</ul>
<script>
// Get specific parentNode
function getParentNode(obj, selector){
if (obj.parentNode) {
if ( obj.parentNode.nodeName.toLowerCase() === selector ) {
return obj.parentNode;
} else {
getParentNode(obj.parentNode, selector);
}
} else {
return null;
}
}
var reply = document.getElementById('reply');
// The function getParentNode() novalid
// The next statement popup "undefined", why?
alert(getParentNode(reply, 'li'))
</script>
</body>
</html>
最佳答案
getParentNode(obj.parentNode, selector);
需要返回
。
return getParentNode(obj.parentNode, selector);
关于javascript - 为什么我的 getParentNode 函数返回未定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16571663/