Je cherchais une fonction qui retournerait la 'distance' entre les éléments du DOM en termes d'ancêtres, de frères et sœurs et de descendants. Par exemple, supposons que j'avais:'Distance' entre les éléments dans DOM (profondeur de génération, etc.)
<div id="div1">
<div id="div5"></div>
</div>
<div id="div2">
<div id="div6">
<div id="div9"></div>
</div>
<div id="div7"></div>
</div>
<div id="div3"></div>
<div id="div4">
<div id="div8">
<div id="div10"></div>
</div>
</div>
alors je veux une fonction qui retournerait la distance entre #div5
et #div10
quelque chose comme:
{
up: 1,
across: 3,
down: 2
}
Depuis obtenir #div5
-#div10
vous avoir à remonter d'une génération, avancer 3 frères et sœurs (à #div4
) puis 2 générations. De même, #div9
à #div1
renverrait:
{
up: 2,
across: -1,
down: 0
}
pour aller jusqu'à deux générations, puis de nouveau un frère.
J'ai déjà une fonction qui fait cela (que je vais inclure comme réponse ci-dessous) donc je l'inclue ici parce que: a) je pensais que quelqu'un d'autre pourrait trouver cela utile; et b) peut-être que quelqu'un d'autre a une meilleure façon de le faire.
Pourriez-vous fournir une démo? –
@Zeaklous ouais, j'en ai mis un dans ma réponse – BYossarian