【发布时间】:2010-02-10 13:39:41
【问题描述】:
我得到了一个需要解析的 HTML 字符串(将在 Flash 中使用),方法是将嵌套的 UL 标记用一个基于嵌套级别递增的 left-margin 值的跨度进行包装。
之前:
<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>
之后:
<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>
注意增量值:0、30、60...
我做了一个(讨厌的)ActionScript 解决方案,但我认为必须有一些优雅的方法来做到这一点。
【问题讨论】:
-
你有什么样的可怕系统需要你用 span 元素包装 ul 元素(假设 span 元素可能没有 ul 元素作为子元素)?