このコードが何をしているのか理解できません。ここにあります:
function parent(e, n) {
if (n === undefined) n = 1; //if n is not defined, use 1 by default
while(n-- && e) e = e.parentNode;
if (!e || e.nodeType !== 1) return null;
return e;
}
この関数は 2 つの引数を受け入れます。1 つは要素用で、2 つ目は要素の祖先用です。したがって、2 番目の引数に 2 を渡すと、要素の祖父母 (DOM ツリーの 2 つ上の要素) が取得されます。
while
ループを除いて、すべて理解しています。逆算がどのようにその特定の先祖を選択しているのかわかりません。このwhileループはどのように機能し、この関数は先祖を選択しますか??