在HTML中设置LI标记的值

时间:2009-11-20 13:40:13

标签: html

我有一个Ordered列表,我需要设置#值。类似的东西:

<ol>
 <li ShowValue=34>apple</li>
 <li ShowValue=45>pear</li>
 <li ShowValue=55>car</li>
</ol>

这样他们就会显示我指定的数字

34.apple
45.pear
55.car

有没有办法告诉李应该显示哪个号码?

5 个答案:

答案 0 :(得分:10)

如果您使用HTML 4.01,则可以执行以下操作:

<ol>
  <li value="34">apple</li>
  ...
</ol>

请注意this is deprecated

答案 1 :(得分:4)

如何获取无序列表并将数字写入内部?

<ul>
    <li>34. apple</li>
    <li>45. pear</li>
    <li>55. car</li>
</ul>

然后你必须隐藏列表的子弹。使用

ul {
    list-style-type: none;
}

为此。

答案 2 :(得分:3)

HTML方法:

<ol start="34">
    <li>apple</li>
    <li>pear</li>
    <li>car</li>
</ol>

这在HTML4中已弃用,支持CSS生成的内容:

<style type="text/css">
    .mylist { counter-reset: mycounter 34; }
    .mylist li { counter-increment: mycounter; list-style-type: none; }
    .mylist li:before { content: counter(mycounter) ". "; }
</style>

<ol class="mylist">
    <li>apple</li> ...
</ol>

这有一些优点,你可以让列表在不重置的情况下运行(如果你在之前的列表中有33个其他东西)。但它在IE6 / IE7中不起作用,所以你现在可以忘记它。

<ol start>(和<li value>)的弃用是一个有争议的问题。许多人(包括我自己)认为这是一个错误,因为列表编号比继续列表的常见情况中的内容更接近内容。虽然HTML黑客无疑是令人讨厌的,但IMO的CSS解决方案更糟糕。

无论如何,HTML5重新包含这些属性,因此它们不会消失。如果继续<ol>是必需的,我会坚持使用HTML start / value属性,并使用HTML4 / XHTML1 Transitional DOCTYPE或HTML5。

答案 3 :(得分:2)

这取决于HTML的生成方式。如果它是静态的,那么只需输入值就可以了:

<li value="35">35.apple</li>

如果它是在服务器端生成的,那么您可以将其添加到服务器代码中。

第三种方法是使用jQuery在渲染后修改内容。

答案 4 :(得分:0)

不要使用属性输出数值。这不是列表项的用途,并且以这种方式使用它违反了元素语义。 ol元素是有序列表。这意味着该列表中的列表项具有枚举的元数据值,该值表示与无序列表相对的排序,其没有元数据枚举,因此仅仅是列表项的集合,而不考虑列表项的位置相对于其他列表项。

您正在尝试的是演示功能。 HTML不是表示语言。使用应该使用CSS:

#custom-item:before {
    content: "35.";
}

有关详细信息,请参阅此文章:http://www.alistapart.com/articles/taminglists/