我编写了一个名为 getParentNode 的函数,用于获取由 tagName 过滤的特定 parentNode。代码如下。我不明白为什么函数返回“未定义”。我认为它应该返回特定的 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>