J'ai obtenu une chaîne HTML que j'ai besoin d'analyser (à utiliser dans Flash), en enveloppant les balises UL imbriquées d'une plage avec une valeur left-margin
incrémentée basée sur le niveau d'imbrication.Enveloppe ULs emboîtée
Avant:
<ul>
<li>Item one</li>
<li>Item two:
<ul>
<li>One</li>
<li>Two
<ul>
<li>One</li>
<li>Two</li>
</ul>
</li>
</ul>
</li>
<li>Item three
<ul>
<li>One</li>
<li>Two</li>
</ul>
</li>
<li>Item four</li>
</ul>
Après:
<span style="left-margin:0px">
<ul>
<li>Item one</li>
<li>Item two:
<span style="left-margin:30px">
<ul>
<li>One</li>
<li>Two
<span style="left-margin:60px">
<ul>
<li>One</li>
<li>Two</li>
</ul>
</span>
</li>
</ul>
</span>
</li>
<li>Item three
<span style="left-margin:30px">
<ul>
<li>One</li>
<li>Two</li>
</ul>
</span>
</li>
<li>Item four</li>
</ul>
</span>
Notez la valeur incrémentée: 0, 30, 60 ...
J'ai fait un (méchant) ActionScript solution, mais je pense qu'il doit y avoir une façon élégante de le faire.
Quel genre de système horrible avez-vous qui exige que vous enveloppiez les éléments ul avec des éléments span (étant donné que les éléments span ne peuvent pas avoir des éléments ul comme enfants)? – Quentin