Pourquoi est-parentNode pas défini?

Je suis en train d'écrire une fonction qui prend un ID parcourt alors les DOM, afin de voir si l'élément est un enfant d'une balise. Cela ne devrait pas être trop difficile cependant de ma parentNode est de retour en tant que undefined? Ce qui me manque?

Voici une version simplifiée de mon code... merci d'avance.

<!DOCTYPE html>
<html lang="en">
<body>

<div id="top">
    <div id="top2"></div>

    <div id="top3"></div>

    <div id="top4"></div>

    <div id="top5">
        <div id="top5_1"></div>
    </div>
    <div id="top6">
            <div id="top6_1">
                <a href="" id="findMe">here I am...</a>
            </div>
    </div>
</div>

<script>

function findParent(startID, finish){

//change this from id to tag 
start = document.getElementById(startID).tagName;

    while (start.parentNode) {
        start = start.parentNode;

        if (start.tagName === finish){
            console.log("true " + startID + " is a child of " + finish);

        }else{
            console.log("false " + startID + " ISN'T a child of " + finish);
        }

    }
}

findParent("findMe", "BODY");


</script>
</body>
</html>
Essayez start = document.getElementById(startID);
startID est une variable. L'erreur est sur la ligne? while (start.parentNode) ici?
Vous pouvez utiliser $('#'+startID).parent('#'+finishID).length pour voir si l'élément si un enfant de div#hello
Aucune raison particulière pour laquelle vous êtes à l'aide de ===? Qu'advient-il si vous modifiez pour ==?
Il n'est pas à l'aide de jQuery. @Tom Walters, toujours utiliser === en Javascript. Il n'est jamais une bonne raison de l'utiliser ==, si vous avez besoin de contrainte de type, de le faire manuellement.

OriginalL'auteur Mike Sav | 2013-03-06