我有一个嵌套的有序列表
<;ol>;
<;李>;第一</李>;
<;李>;第二
<;ol>;
<;李>;第二个嵌套的第一个元素</李>;
<;李>;第二个嵌套的secondelement</李>;
<;李>;第二套第三套</李>;
</ol>;
</李>;
<;李>;第三</李>;
<;李>;第四</李>;
</ol>;
当前嵌套元素再次从1开始,例如
- 首先
- 第二
- 第二个嵌套的第一个元素
- 第二嵌套第二元素
- 第二嵌套第三元素
- 第三
- 第四
我想要的是第二个元素的编号如下:
- 首先
-
第二
2.1。第二个嵌套的第一个元素
2.2。第二嵌套第二元素
2.3。第二嵌套第三元素
- 第三
- 第四
有没有办法做到这一点
下面是一个适用于所有浏览器的示例。纯CSS方法适用于真正的浏览器(即除IE6/7之外的所有浏览器),jQuery代码用于覆盖不受支持的浏览器。这是一个SSCCE的风格,你只需复制、粘贴、运行它就可以了
<;!doctype html>;
<;html lang=“en”>;
<;头>;
<;标题>;因此,问题272927</标题>;
<;脚本src=”http://code.jquery.com/jquery-latest.min.js“></脚本>;
<;脚本>;
$(文档).ready(函数(){
if($('ol:first').css('list-style-type')!='none'){/*仅适用于IE6/7*/
$('ol')。每个(函数(i,ol){
ol=$(ol);
var level1=ol.closest('li').index()+1;
ol.子项('li')。每个(功能(i,li){
li=$(li);
变量level2=level1+'.++(li.index()+1);
li.前置(“<;span>;”+level2+”<;/span>;”);
});
});
}
});
</脚本>;
<;风格>;
html>/**/正文ol{/*不会由IE6/7解释*/
列表样式类型:无;
计数器复位:1级;
}
奥利:以前{
内容:柜台(一级)”;
反增量:1级;
}
奥利奥{
列表样式类型:无;
计数器复位:2级;
}
奥利:以前{
内容:柜台(一级)““柜台(二级)”;
反增量:2级;
}
ol li span{/*适用于IE6/7*/
利润率:0.5px 0-25 px;
}
</风格>;
</头>;
<;车身>;
<;ol>;
<;李>;第一</李>;
<;李>;第二
<;ol>;
<;李>;第二个嵌套的第一个元素</李>;
<;李>;第二个嵌套的第二个元素</李>;
<;李>;第二嵌套第三元素</李>;
</ol>;
</李>;
<;李>;第三</李>;
<;李>;第四</李>;
</ol>;
</车身>;
</html>;