jQueryで祖先をトラバースするにはどうすればよいですか?
現在のコードは再帰ループに陥っています:
HTML:
<html>
<body>
<div>
<ul>
<li></li>
</ul>
</div>
</body>
</html>
JS:
function traverse($node){
while ( $node.get(0) !== $("html").get(0) ) {
console.log($node);
traverse($node.parent());
}
}
//traverse($("ul li"));
問題を観察するには、最後の行のコメントを外してください。ただし、ブラウザがフリーズする可能性があることに注意してください。
JSFiddleでも同じ: http://jsfiddle.net/WpvJN/1/