【发布时间】:2011-01-03 04:33:45
【问题描述】:
在 Wikispaces 中,当您将目录添加到主要内容区域时,您在该主要内容区域中使用的任何标题 (h1-h6) 都会自动放置在目录中,并用作锚链接,当点击后,会将您带到页面下方的目录中引用的标题。
默认情况下,wikispaces 使用 div 围绕目录中的锚链接,这取决于您在主要内容区域 (h1-h6) 中使用的标题,它会为其应用更大的左边距。这是仅 h2 标题的目录的标记...
<div style="margin-left: 2em;"><a href="#toc1">Hello there</a></div>
<div style="margin-left: 2em;"><a href="#toc2">How are you?</a></div>
<div style="margin-left: 2em;"><a href="#toc3">Here's an External Link</a></div>
<div style="margin-left: 2em;"><a href="#toc4">Here's an Example Heading</a></div>
<div style="margin-left: 2em;"><a href="#toc5">Here's an Even Longer Example Heading</a></div>
我想完全删除丑陋和不必要的嵌入式 CSS 样式 DIV,并用无序列表包裹目录,用列表项包裹锚链接。所以使用 jQuery,上面的标记将被转换为更多语义标记......一个无序列表。
<ul>
<li><a href="#toc1">Hello there</a></li>
<li><a href="#toc2">How are you?</a></li>
<li><a href="#toc3">Here's an External Link</a></li>
<li><a href="#toc4">Here's an Example Heading</a></li>
<li><a href="#toc5">Here's an Even Longer Example Heading</a></li>
</ul>
jQuery 应该补偿用户在主要内容区域中放置的标题数量。所以基本上,无论如何,目录总是用无序列表包裹,不管有多少列表项......
感谢您的帮助!
【问题讨论】:
-
是否有任何元素只包含来自维基空间的丑陋代码列表?就像
<div></div>一样? -
是的。这包含了上面的目录锚链接:
目录
好的,很酷,更新了我的答案,让它更直接@Spencer 我今晚出去了,但祝你的项目好运!如果你付出这么多努力,我知道它会变得很棒!非常感谢,道格!有一个美好的夜晚。期待向您展示完成的项目。