Я пишу функцию с именем getParentNode, которая использует, чтобы получить определенный parentNode, отфильтрованный tagName. Код выглядит следующим образом. Я не понимаю, почему функция возвращает «undefined». Я думаю, что он должен возвращать определенный parentNode или null. ОРЗ! код также на http://jsfiddle.net/52ed6/2/Почему моя функция getParentNode не указана?
<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>
Внутри первого использования: ** return ** getParentNode (obj.parentNode, селектор); –