我編寫了一個名爲getParentNode的函數,用於獲取由tagName過濾的某個特定父節點。代碼如下。我不明白爲什麼函數返回「undefined」。我認爲它應該返回特定的parentNode或null。 ORZ! 該代碼也處於http://jsfiddle.net/52ed6/2/爲什麼我的getParentNode函數返回undefined?
<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>
在第一個else裏面使用:** return ** getParentNode(obj.parentNode,selector); –